Notifications v0.15.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.

The Notifications API supports in-app notifications for Apiture digital banking clients. Using this API, services can generate notifications, and clients can pull notifications for different contexts, such as users or accounts or a global context. These notifications are not related to operating system or devices notifications.

This API manages two types of resources:

  • Notification definitions
  • Notification instances

(Unless explicitly stated, the term "notification" in this document refers to a notification instance. When discussing notification definitions, we use the term "notification definition" or "definition".)

Services or administrative applications create notification definitions which act as templates for individual notification instances. A definition defines the context name for the notifications, the notification type, its message text, etc. Definitions are not associated with specific users. A notification can be an indicator which means the notification uses an user experience icon, badge, or other UX element to indicate that there is additional information about the current banking resource. The user can activate the indicator to view the notification message.

The context name in a notification definition determines what the notification applies to and hence where the client application will display the notification. For example, if the contextName is account and the contextUri is the URI of a user's savings account, the client should display the notification or indicator in that savings account's details page. If the context is transaction, the client should display the notification or indicator in that transaction within the list of transactions. The context name "global" means the client should show the notification at the top of most pages/views; this is used for important alerts. The context name "none" means the client should not show the notification in a specific application context, but should show it in a generic notification message page or under a notifications menu.

After creating a definition, services call createNotifications to create instances from that definition. Instances contain contexts (usually the URI of a specific resource such as an account or transfer, etc), a user, and optional expiration timestamp. Instances also derive the notification message from their definition.

The client applications fetch notification instances for an authenticated user in order to render an in-application message. Users may dismiss a notification which is tracked with the notification instance (dismissed notifications are excluded on the next getActiveNotifications call). The client app may also mark a notification as read.

Users can only view their own notifications and notifications definitions. End users do not have access to create or modify definitions, create notification instances, expire or delete definitions, or expire or delete notification instances. Those operations are reserved for administrators and services. This API also supports service configuration operations.

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.

cannotCreateInstancesFromGlobalDefinition

Description: Cannot create notification instances for a global notification definition.
Remediation: Use a non-global notification definition to create user-specific notification instances.

definitionExpired

Description: Cannot create new notification instances from an expired notification definition.
Remediation: Use an unexpired notification definition.

definitionMissingContextUriTemplate

Description: The instances contain only context IDs but the definition has no contextUriTemplate.
Remediation: Either define a contextUriTemplate in the notification definition, or include full context URIs in the instances.

definitionRefNotFound

Description: The referenced notification definition is not found.
Remediation: Pass a reference to an existing notification definition.

dismissNotAllowed

Description: Cannot dismiss a notification when the definition is an indicator or is not dismissible.
Remediation: Do not invoke dismissNotification if the definition is an indicator or not dismissible.

groupNotFound

Description: No Groups were found for the specified groupName.
Remediation: Check to make sure that the supplied groupName corresponds to an apiture group resource.

idNotMatchPath

Description: The _id in the request body does not match the {definitionId} path parameter.
Remediation: Use the representation from the correct notification definition.

indicatorAndNotDismissibleMutuallyExclusive

Description: The indicator and notDismissible properties may not be both true.
Remediation: Choose either indicator or notDismissible, not both.

mismatchedContextUriTemplate

Description: The request includes a contextUriTemplate that does not match the notification definition.
Remediation: Create a different notification definition if you need a different contextUriTemplate.

notificationRefNotFound

Description: The referenced notification instance is not found.
Remediation: Pass a reference to an existing notification instance.

valueNotFound

Description: No Group values were found for the specified groupName and valueName.
Remediation: Check to make sure that the supplied groupName and valueName corresponds to an apiture group and value resource.

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 and 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
data/read Read access to non-account, non-profile data.
data/write Write (update) access to non-account, non-profile data.
admin/write Admin write (update) access to non-account, non-profile data.
admin/read Admin Read access to non-account, non-profile data.
admin/delete Admin access to non-account, non-profile data.
admin/full Full admin access to non-account, non-profile data.

Notification Definitions

Definitions of In-app Notifications

getDefinitions

Code samples

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

GET https://api.devbank.apiture.com/notifications/definitions 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/notifications/definitions',
{
  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/notifications/definitions',
  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/notifications/definitions',
  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/notifications/definitions', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions");
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/notifications/definitions", data)
    req.Header = headers

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

Return a collection of notification definitions

GET https://api.devbank.apiture.com/notifications/definitions

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

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first definition 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 definition 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.
expired
in: query
boolean
Filter definitions whose expired property matches the given value.
type
in: query
array[string]
Return only notification definitions whose type matches the one of query parameter values. The array item delimiter is the | pipe character.
Examples:
?type=cdMaturingSoon
?type=cdMaturingSoon|cdInGracePeriod.
pipe-delimited
items: string
contextName
in: query
array[string]
Return only notification definitions whose contextName matches the one of query parameter values. The array item delimiter is the | pipe character.
Examples:
?contextName=account
?contextName=user|global.
pipe-delimited
items: string
filter
in: query
string
Optional filter criteria. See filtering.
q
in: query
string
Optional search string. See searching.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinitions/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/notifications/definitions?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/notifications/definitions?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/notifications/definitions"
    }
  },
  "name": "definitions",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotificationDefinition/v1.1.2/profile.json",
        "type": "cdMaturingSoon",
        "contextName": "account",
        "indicator": true,
        "notDismissible": false,
        "priority": "medium",
        "message": {
          "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
          "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
        },
        "values": {
          "maturityDate": "2020-04-09"
        },
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:expire": {
            "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:createNotifications": {
            "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: notificationDefinitions
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. The request body or 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

createDefinition

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/definitions \
  -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/notifications/definitions 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/notifications/createNotificationDefinition/v1.1.2/profile.json",
  "_links": {},
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "priority": "medium",
  "message": {
    "text": "We have increased the rate of your CD from {oldApy}% to {newApy}%.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png",
    "variants": {
      "es": {
        "text": "Hemos aumentado la velocidad de su CD de {oldApy}% a {newApy}%.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png"
      },
      "fr": {
        "text": "Nous avons augment\\u00e9 le taux de votre CD de {oldApy}% \\00e0 {newApy}%.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/fr/notifications/cdRateIncreased.png"
      }
    }
  },
  "values": {
    "oldApy": "1.750",
    "newApy": "1.8.0"
  }
}';
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/notifications/definitions',
{
  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/notifications/definitions',
  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/notifications/definitions',
  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/notifications/definitions', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions");
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/notifications/definitions", data)
    req.Header = headers

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

Create a new notification definition

POST https://api.devbank.apiture.com/notifications/definitions

Create a new notification definition that specifies the notification type and message. After creating a notification, create notification instances for specific users and contexts.

Note: To add a global notification, use createGlobalDefinition instead.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/createNotificationDefinition/v1.1.2/profile.json",
  "_links": {},
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "priority": "medium",
  "message": {
    "text": "We have increased the rate of your CD from {oldApy}% to {newApy}%.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png",
    "variants": {
      "es": {
        "text": "Hemos aumentado la velocidad de su CD de {oldApy}% a {newApy}%.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png"
      },
      "fr": {
        "text": "Nous avons augment\\u00e9 le taux de votre CD de {oldApy}% \\00e0 {newApy}%.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/fr/notifications/cdRateIncreased.png"
      }
    }
  },
  "values": {
    "oldApy": "1.750",
    "newApy": "1.8.0"
  }
}

Parameters

ParameterDescription
body createNotificationDefinition (required)
The data necessary to create a new notification definition.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
201 Created
Created.
Schema: notificationDefinition
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
An entity tag which may be passed in the 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
422 Unprocessable Entity

Unprocessable Entity. The request body or 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.

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

Schema: errorResponse

createGlobalDefinition

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/globalDefinitions \
  -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/notifications/globalDefinitions 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/notifications/createGlobalNotificationDefinition/v1.1.1/profile.json",
  "_links": {},
  "priority": "high",
  "message": {
    "text": "The bank branch at {address} will be closed until September 17 due to Hurricane Heathcliff. See [our announcement](http://www.3rdpartybank.com/announcements/heathcliff) for more information.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/hurricane-flag.png",
    "variants": {
      "es": {
        "text": "La sucursal bancaria en {address} estar\\u00e1 cerrada hasta el 17 de septiembre debido al hurac\\u00e1n Heathcliff. Consulte [nuestro anuncio](http://www.3rdpartybank.com/announcements/heathcliff) para obtener m\\u00e1s informaci\\u00f3n.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/hurricane-flag.png"
      }
    }
  },
  "values": {
    "address": "123 N. Main St. Wilmington"
  }
}';
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/notifications/globalDefinitions',
{
  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/notifications/globalDefinitions',
  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/notifications/globalDefinitions',
  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/notifications/globalDefinitions', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/globalDefinitions");
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/notifications/globalDefinitions", data)
    req.Header = headers

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

Create a new global notification definition

POST https://api.devbank.apiture.com/notifications/globalDefinitions

Create a new global notification definition with a message. A global notification definition is one whose contextName is global. This is used for announcements targeted to all financial institution customers. The new definition is available in the getDefinitions collection. Clients should request active global notifications for users via getActiveNotifications and ?context=global (or ?context=global|user). The services does not create Instances of a global notification for each user until a client requests them.

To add a non-global notification, use createDefinition instead.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/createGlobalNotificationDefinition/v1.1.1/profile.json",
  "_links": {},
  "priority": "high",
  "message": {
    "text": "The bank branch at {address} will be closed until September 17 due to Hurricane Heathcliff. See [our announcement](http://www.3rdpartybank.com/announcements/heathcliff) for more information.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/hurricane-flag.png",
    "variants": {
      "es": {
        "text": "La sucursal bancaria en {address} estar\\u00e1 cerrada hasta el 17 de septiembre debido al hurac\\u00e1n Heathcliff. Consulte [nuestro anuncio](http://www.3rdpartybank.com/announcements/heathcliff) para obtener m\\u00e1s informaci\\u00f3n.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/hurricane-flag.png"
      }
    }
  },
  "values": {
    "address": "123 N. Main St. Wilmington"
  }
}

Parameters

ParameterDescription
body createGlobalNotificationDefinition (required)
The data necessary to create a new global notification definition.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
201 Created
Created.
Schema: notificationDefinition
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
An entity tag which may be passed in the 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
422 Unprocessable Entity
Unprocessable Entity. The request body or 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

getDefinition

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/notifications/definitions/{definitionId} \
  -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/notifications/definitions/{definitionId} 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/notifications/definitions/{definitionId}',
{
  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/notifications/definitions/{definitionId}',
  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/notifications/definitions/{definitionId}',
  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/notifications/definitions/{definitionId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions/{definitionId}");
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/notifications/definitions/{definitionId}", data)
    req.Header = headers

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

Fetch a representation of this notification definition

GET https://api.devbank.apiture.com/notifications/definitions/{definitionId}

Return a HAL representation of this notification definition resource.

Parameters

ParameterDescription
definitionId
in: path
string (required)
The unique identifier of this definition. 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/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: notificationDefinition
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this definition 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 definition resource at the specified {definitionId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

updateDefinition

Code samples

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

PUT https://api.devbank.apiture.com/notifications/definitions/{definitionId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/notifications/definitions/{definitionId}',
{
  method: 'PUT',
  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',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/notifications/definitions/{definitionId}',
  method: 'put',

  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',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/notifications/definitions/{definitionId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://api.devbank.apiture.com/notifications/definitions/{definitionId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions/{definitionId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
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"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Update this definition

PUT https://api.devbank.apiture.com/notifications/definitions/{definitionId}

Perform a complete replacement of this definition.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Parameters

ParameterDescription
definitionId
in: path
string (required)
The unique identifier of this definition. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body notificationDefinition (required)
A notification definition.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: notificationDefinition
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this definition 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
404 Not Found
Not Found. There is no such definition resource at the specified {definitionId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body or 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.

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

Schema: errorResponse

patchDefinition

Code samples

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

PATCH https://api.devbank.apiture.com/notifications/definitions/{definitionId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/notifications/definitions/{definitionId}',
{
  method: 'PATCH',
  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',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/notifications/definitions/{definitionId}',
  method: 'patch',

  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',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.devbank.apiture.com/notifications/definitions/{definitionId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://api.devbank.apiture.com/notifications/definitions/{definitionId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions/{definitionId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
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"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Update this definition

PATCH https://api.devbank.apiture.com/notifications/definitions/{definitionId}

Perform a partial update of this definition. Fields which are omitted are not updated. Nested _embedded and _links are ignored if included.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Parameters

ParameterDescription
definitionId
in: path
string (required)
The unique identifier of this definition. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body notificationDefinition (required)
A notification definition.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: notificationDefinition
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this definition 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
404 Not Found
Not Found. There is no such definition resource at the specified {definitionId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body or 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.

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

Schema: errorResponse

deleteDefinition

Code samples

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

DELETE https://api.devbank.apiture.com/notifications/definitions/{definitionId} 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/notifications/definitions/{definitionId}',
{
  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/notifications/definitions/{definitionId}',
  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/notifications/definitions/{definitionId}',
  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/notifications/definitions/{definitionId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions/{definitionId}");
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/notifications/definitions/{definitionId}", data)
    req.Header = headers

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

Delete this notification definition resource

DELETE https://api.devbank.apiture.com/notifications/definitions/{definitionId}

Delete this notification definition resource and any notification instances that are defined by it. Normally, the service deletes definitions some time after they have expired.

Parameters

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

Responses

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

Notification Definition Actions

Actions on Notification Definitions

expireDefinition

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/expiredDefinitions?definition=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/notifications/expiredDefinitions?definition=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/notifications/expiredDefinitions?definition=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/notifications/expiredDefinitions',
  method: 'post',
  data: '?definition=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/notifications/expiredDefinitions',
  params: {
  'definition' => '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/notifications/expiredDefinitions', params={
  'definition': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/expiredDefinitions?definition=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/notifications/expiredDefinitions", data)
    req.Header = headers

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

Expire a notification definition

POST https://api.devbank.apiture.com/notifications/expiredDefinitions

Expire a notification definition. This changes the expired property of the definition to true. This operation is available via the apiture:expire link on the definition resource, if the current time is past the definition's expiresAt date-time value. This operation may be invoked before the expiresAt time to expire it earlier.

This operation also expires all active notification instances defined by this definition. This operation does nothing if the definition has already expired. this definition.

The response is the updated representation of the definition. The If-Match request header value, if passed, must match the current entity tag value of the definition.

Parameters

ParameterDescription
definition
in: query
string (required)
A string which uniquely identifies a definition which is to added to the selected definitions resource set. This may be the unique definitionId or the URI of the definition.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
200 OK
OK. The operation succeeded.
Schema: notificationDefinition
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource to perform conditional updates.
StatusDescription
400 Bad Request

Bad Request. The definition parameter was malformed or does not refer to an existing or accessible definition.

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

Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

Notifications

In-app Notifications

createNotifications

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/definitions/{definitionId}/notifications \
  -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/notifications/definitions/{definitionId}/notifications 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/notifications/instances/v1.1.1/profile.json",
  "_links": {},
  "contextUriTemplate": "/accounts/accounts/{id}",
  "instances": [
    {
      "contextId": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "userIds": [
        "82535922-335f-4c95-8000-c663a50aec9c",
        "7131b08f-2c47-4c23-a4ad-fb31d895acb3",
        "9cdbae90-a120-4a71-8314-d0f6051c86fa"
      ],
      "expiresAt": "2020-05-08T14:00:00.00Z"
    },
    {
      "contextId": "4c1e7436-14cb-4434-a46e-9d7b4e3f02ea",
      "userIds": [
        "1cbdd896-0730-4a7d-af68-1834de0cfe84",
        "c433df56-b9ef-44ed-bcb8-52bbfb4df5f8"
      ],
      "expiresAt": "2020-05-10T14:00:00.00Z",
      "values": {
        "oldApy": "1.750",
        "newApy": "1.8.0"
      }
    }
  ]
}';
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/notifications/definitions/{definitionId}/notifications',
{
  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/notifications/definitions/{definitionId}/notifications',
  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/notifications/definitions/{definitionId}/notifications',
  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/notifications/definitions/{definitionId}/notifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/definitions/{definitionId}/notifications");
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/notifications/definitions/{definitionId}/notifications", data)
    req.Header = headers

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

Create notifications from a notification definition.

POST https://api.devbank.apiture.com/notifications/definitions/{definitionId}/notifications

Create notification instances from a notification definition.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/instances/v1.1.1/profile.json",
  "_links": {},
  "contextUriTemplate": "/accounts/accounts/{id}",
  "instances": [
    {
      "contextId": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "userIds": [
        "82535922-335f-4c95-8000-c663a50aec9c",
        "7131b08f-2c47-4c23-a4ad-fb31d895acb3",
        "9cdbae90-a120-4a71-8314-d0f6051c86fa"
      ],
      "expiresAt": "2020-05-08T14:00:00.00Z"
    },
    {
      "contextId": "4c1e7436-14cb-4434-a46e-9d7b4e3f02ea",
      "userIds": [
        "1cbdd896-0730-4a7d-af68-1834de0cfe84",
        "c433df56-b9ef-44ed-bcb8-52bbfb4df5f8"
      ],
      "expiresAt": "2020-05-10T14:00:00.00Z",
      "values": {
        "oldApy": "1.750",
        "newApy": "1.8.0"
      }
    }
  ]
}

Parameters

ParameterDescription
body instances (required)
The data necessary to create new notification instances from this definition.
definitionId
in: path
string (required)
The unique identifier of this definition. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Responses

StatusDescription
200 OK
OK. The instances have been created for this notification definition.
Schema: notificationDefinition
HeaderETag
string
An entity tag which may be passed in the 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. The definition has expired, or the createNotifications request uses a contextUriTemplate that does not match the notification definition's existing contextUriTemplate, or instances contain only a contextId and the request or definition has no contextUriTemplate, or a request was made to create notification instance for a global notification definition.

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

Schema: errorResponse

getActiveNotifications

Code samples

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

GET https://api.devbank.apiture.com/notifications/activeNotifications?context=string 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',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/notifications/activeNotifications?context=string',
{
  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',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/notifications/activeNotifications',
  method: 'get',
  data: '?context=string',
  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',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/notifications/activeNotifications',
  params: {
  'context' => 'array[string]'
}, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/notifications/activeNotifications', params={
  'context': [
  "string"
]
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/activeNotifications?context=string");
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"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Return active notifications

GET https://api.devbank.apiture.com/notifications/activeNotifications

Return a list of active notifications for a user which match a context by name or URI. The response excludes dismissed or expired notifications.

This is the primary operation clients used to fetch (a.k.a. pull) notifications for a user for a given context, client type (web or mobile), and user language preferences. Each active notification in the response _embedded.items contains the details of the notification in its _embedded.definition This operation returns the preferred text and image (based on the client type and languages) in each active notification's message property.

The message in each instance in the response is the best match from the notification definition's message, webMessage and mobileMessage, as determined by the ?clientType= and ?languages= query parameters. The service also resolves any {variableName} variables in the message text with the values from the instance or definition.

The client should display the notifications in the user interface. Notifications defined with indicator: true should be displayed with the message.imageUri icon, although the client may use the rendered message.text as a hover tip. This acts as a "badge". Clients should display other (non-indicator) notifications as text notifications, with optional icon, and with a Dismiss or OK or other control to dismiss the notification. The client should convert the Markdown text to rich text before displaying it.

When the user dismisses a notification, the client should POST to that notification's apiture:dismiss link so the service can exclude the notification from the response the next time the client calls this operation for this context.

Parameters

ParameterDescription
context
in: query
array[string] (required)
A string which uniquely identifies a notification context resource by contextName or context URI. The array item delimiter is the | pipe character.
Examples:
?context=https://api.devbank.apiture.com/accounts/accounts/c6082333-be32
?context=account
?context=global|user. ?context=none.
pipe-delimited
items: string
clientType
in: query
string
If ?clientType=web, the notifications' message is derived from the webMessage in the corresponding notification definition, ignoring the the definition's mobileMessage. If no webMessage is defined for the requested 'languages', the notifications' message is derived from the definitions message. ?clientType=mobile is handled analogously, using mobileMessage. The default uses the definition's message if it is defined, else webMessage.
enum values: web, mobile
languages
in: query
array[string]
Return message variants that match the user's language preference. The array is ordered by highest to lowest preference language tag(s). For example, for ?languages=es,en, the response will include message variants based on the following search priority: esen ⇒ ⇒ (default)
Items are RFC 3066 language identifiers. If used, Accept-Language header is ignored. Language codes are case insensitive.
minItems: 1
maxItems: 6
comma-delimited
items: string(language)
» format: language
» minLength: 2
» maxLength: 8
» pattern: "^[a-z]{2,3}(-[a-zA-Z0-9]{2,4})?$"
replace
in: query
boolean
If false, the operation does not replace the variable references in the message.text of each active notification with the corresponding value from the notification's values. The client should perform the replacement before displaying the message.
default: true
Accept-Language
in: header
string
An HTTP Accept-Language request header which specifies one or more languages with weights. The response will include one string for each combination of group name and string name. This is ignored if ?languages= query parameter is used. Accept-Language is processed in a similar way as the language query parameter.

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: activeNotifications
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. The request body or 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

getNotifications

Code samples

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

GET https://api.devbank.apiture.com/notifications/notifications 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/notifications/notifications',
{
  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/notifications/notifications',
  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/notifications/notifications',
  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/notifications/notifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/notifications");
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/notifications/notifications", data)
    req.Header = headers

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

Return a collection of notifications

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

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

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first notification 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 notification 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
contextName
expiredAt
dismissedAt.
expired
in: query
boolean
Filter definitions whose expired property matches the given value.
dismissed
in: query
boolean
Filter definitions whose dismissed property matches the given value.
readState
in: query
boolean
Filter definitions whose readState property matches the given value.
type
in: query
array[string]
Return only notifications whose type matches the one of query parameter values. The array item delimiter is the | pipe character.
Examples:
?type=cdMaturingSoon
?type=cdMaturingSoon|cdInGracePeriod.
pipe-delimited
items: string
contextName
in: query
array[string]
Return only notifications whose contextName matches the one of query parameter values. The array item delimiter is the | pipe character.
Examples:
?contextName=account
?contextName=user|global.
pipe-delimited
items: string
contextUri
in: query
string
Return only notifications whose contextUri matches the query parameter value. If the value begins with /, only the path portion of the URI is matched.
Examples:
?contextUri=/accounts/accounts/c6082333-be32
?contextUri=https://api.devbank.apiture.com/accounts/accounts/c6082333-be32.
filter
in: query
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:.
q
in: query
string
Optional search string. See searching.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notifications/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/notifications/notifications?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/notifications/notifications?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/notifications/notifications"
    }
  },
  "name": "notifications",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotification/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotification/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/notifications/notifications/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: notifications
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. The request body or 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

createNotification

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/notifications \
  -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/notifications/notifications 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/notifications/createNotification/v1.0.1/profile.json",
  "_links": {},
  "definitionId": "41cf829b-879d-4334-9085-7ac18333ce47",
  "userId": "80ebfabf-7a26-48a9-96c2-86f4dca8706f",
  "contextUri": "https://api.devbank.apiture.com/accounts/account/ba611f3a-ab1b-4ad7-aaf6-56a240123818"
}';
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/notifications/notifications',
{
  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/notifications/notifications',
  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/notifications/notifications',
  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/notifications/notifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/notifications");
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/notifications/notifications", data)
    req.Header = headers

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

Create a new notification

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

Create a new notification in the notifications collection.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/createNotification/v1.0.1/profile.json",
  "_links": {},
  "definitionId": "41cf829b-879d-4334-9085-7ac18333ce47",
  "userId": "80ebfabf-7a26-48a9-96c2-86f4dca8706f",
  "contextUri": "https://api.devbank.apiture.com/accounts/account/ba611f3a-ab1b-4ad7-aaf6-56a240123818"
}

Parameters

ParameterDescription
body createNotification (required)
The data necessary to create a new notification.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:markAsRead": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/readNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": true,
  "dismissed": true,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "readAt": "2020-04-02T11:01:31.375Z",
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: notification
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
An entity tag which may be passed in the 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

getNotification

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/notifications/notifications/{notificationId} \
  -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/notifications/notifications/{notificationId} 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/notifications/notifications/{notificationId}',
{
  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/notifications/notifications/{notificationId}',
  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/notifications/notifications/{notificationId}',
  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/notifications/notifications/{notificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/notifications/{notificationId}");
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/notifications/notifications/{notificationId}", data)
    req.Header = headers

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

Fetch a representation of this notification

GET https://api.devbank.apiture.com/notifications/notifications/{notificationId}

Return a HAL representation of this notification resource.

Parameters

ParameterDescription
notificationId
in: path
string (required)
The unique identifier of this notification. 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/notifications/notification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:markAsRead": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/readNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": true,
  "dismissed": true,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "readAt": "2020-04-02T11:01:31.375Z",
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: notification
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this notification 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 notification resource at the specified {notificationId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

deleteNotification

Code samples

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

DELETE https://api.devbank.apiture.com/notifications/notifications/{notificationId} 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/notifications/notifications/{notificationId}',
{
  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/notifications/notifications/{notificationId}',
  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/notifications/notifications/{notificationId}',
  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/notifications/notifications/{notificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/notifications/{notificationId}");
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/notifications/notifications/{notificationId}", data)
    req.Header = headers

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

Delete this notification resource

DELETE https://api.devbank.apiture.com/notifications/notifications/{notificationId}

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

Parameters

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

Responses

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

Notification Actions

Actions on Notifications

dismissNotification

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/dismissedNotifications?notification=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/notifications/dismissedNotifications?notification=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/notifications/dismissedNotifications?notification=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/notifications/dismissedNotifications',
  method: 'post',
  data: '?notification=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/notifications/dismissedNotifications',
  params: {
  'notification' => '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/notifications/dismissedNotifications', params={
  'notification': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/dismissedNotifications?notification=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/notifications/dismissedNotifications", data)
    req.Header = headers

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

Dismiss a notification

POST https://api.devbank.apiture.com/notifications/dismissedNotifications

Dismiss a notification. This changes the dismissed property of a notification to true and records the dismissedAt timestamp. This operation is available via the apiture:dismiss link on the notification resource if both expired and dismissed are false. Dismissing an expired notification is allowed. Dismissing a previously dismissed notification is allowed, but does not change the state of the instance. The response is the updated representation of the notification. The If-Match request header value, if passed, must match the current entity tag value of the notification.

Parameters

ParameterDescription
notification
in: query
string (required)
A string which uniquely identifies a notification. This may be the unique notificationId or the URI of the notification.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:markAsRead": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/readNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": true,
  "dismissed": true,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "readAt": "2020-04-02T11:01:31.375Z",
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded.
Schema: notification
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource to perform conditional updates.
StatusDescription
400 Bad Request

Bad Request. The notification parameter was malformed or does not refer to an existing or accessible notification.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request to dismiss the notification is not allowed. 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
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

markAsRead

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/readNotifications?notification=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/notifications/readNotifications?notification=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/notifications/readNotifications?notification=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/notifications/readNotifications',
  method: 'post',
  data: '?notification=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/notifications/readNotifications',
  params: {
  'notification' => '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/notifications/readNotifications', params={
  'notification': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/readNotifications?notification=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/notifications/readNotifications", data)
    req.Header = headers

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

Mark a notification as read.

POST https://api.devbank.apiture.com/notifications/readNotifications

Mark a notification as read. This changes the readState property of a notification to true and records the readAt timestamp. This operation is available via the apiture:markAsRead link on the notification resource if readState, expired and dismissed are all false. This operation is idempotent: marking an already read notification as read is allowed and does not change the readState or readAt properties of the instance. The response is the updated representation of the notification. The If-Match request header value, if passed, must match the current entity tag value of the notification.

Parameters

ParameterDescription
notification
in: query
string (required)
A string which uniquely identifies a notification. This may be the unique notificationId or the URI of the notification.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:markAsRead": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/readNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": true,
  "dismissed": true,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "readAt": "2020-04-02T11:01:31.375Z",
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded.
Schema: notification
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource to perform conditional updates.
StatusDescription
400 Bad Request

Bad Request. The notification parameter was malformed or does not refer to an existing or accessible notification.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request to dismiss the notification is not allowed. 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
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

expireNotification

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/notifications/expiredNotifications?notification=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/notifications/expiredNotifications?notification=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/notifications/expiredNotifications?notification=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/notifications/expiredNotifications',
  method: 'post',
  data: '?notification=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/notifications/expiredNotifications',
  params: {
  'notification' => '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/notifications/expiredNotifications', params={
  'notification': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/expiredNotifications?notification=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/notifications/expiredNotifications", data)
    req.Header = headers

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

Expire a notification

POST https://api.devbank.apiture.com/notifications/expiredNotifications

Expire a notification instance. This changes the expired property of the notification to true. This operation is available via the apiture:expire link on the notification resource if both dismissed and expired are false. Expiring a dismissed notification is allowed. Expiring a previously expired notification is allowed, but does not change the state of the instance.

Expiring a definition invokes this operation on all instances derived from that definition.

The response is the updated representation of the notification. The If-Match request header value, if passed, must match the current entity tag value of the notification.

Parameters

ParameterDescription
notification
in: query
string (required)
A string which uniquely identifies a notification. This may be the unique notificationId or the URI of the notification.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:markAsRead": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/readNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": true,
  "dismissed": true,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "readAt": "2020-04-02T11:01:31.375Z",
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded.
Schema: notification
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource to perform conditional updates.
StatusDescription
400 Bad Request

Bad Request. The notification parameter was malformed or does not refer to an existing or accessible notification.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to expire the notification is not allowed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

API

The Notifications API

getLabels

Code samples

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

GET https://api.devbank.apiture.com/notifications/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/notifications/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/notifications/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/notifications/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/notifications/labels', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/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/notifications/labels", data)
    req.Header = headers

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

Localized Labels

GET https://api.devbank.apiture.com/notifications/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.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "firstGroup": {
      "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/notifications/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/notifications/ 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/notifications/',
{
  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/notifications/',
  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/notifications/',
  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/notifications/', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/");
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/notifications/", 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/notifications/

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.1/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/notifications/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/notifications/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/notifications/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/notifications/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/notifications/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/notifications/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/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/notifications/apiDoc", data)
    req.Header = headers

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

Return API definition document

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

Return the OpenAPI document that describes this API.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK.
Schema: Inline

Response Schema

Configuration

Notifications Service Configuration

getConfigurationGroups

Code samples

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

GET https://api.devbank.apiture.com/notifications/configurations/groups 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/notifications/configurations/groups',
{
  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/notifications/configurations/groups',
  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/notifications/configurations/groups',
  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/notifications/configurations/groups', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups");
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/notifications/configurations/groups", data)
    req.Header = headers

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

Return a collection of configuration groups

GET https://api.devbank.apiture.com/notifications/configurations/groups

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_embedded": {
    "items": [
      {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/basic"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Transfers API"
      },
      {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/calendar"
          }
        },
        "name": "calendar",
        "label": "Calendar",
        "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationGroups
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. The request body or 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

getConfigurationGroup

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName} \
  -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/notifications/configurations/groups/{groupName} 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/notifications/configurations/groups/{groupName}',
{
  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/notifications/configurations/groups/{groupName}',
  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/notifications/configurations/groups/{groupName}',
  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/notifications/configurations/groups/{groupName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}");
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/notifications/configurations/groups/{groupName}", data)
    req.Header = headers

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

Fetch a representation of this configuration group

GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}

Return a HAL representation of this configuration group resource.

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
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/configurations/configurationGroup/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": 63000
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationGroup
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for GET operations for this configuration group 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 configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse

getConfigurationGroupSchema

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/schema \
  -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/notifications/configurations/groups/{groupName}/schema 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/notifications/configurations/groups/{groupName}/schema',
{
  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/notifications/configurations/groups/{groupName}/schema',
  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/notifications/configurations/groups/{groupName}/schema',
  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/notifications/configurations/groups/{groupName}/schema', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/schema");
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/notifications/configurations/groups/{groupName}/schema", data)
    req.Header = headers

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

Fetch the schema for this configuration group

GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/schema

Return a HAL representation of this configuration group schema resource.

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
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

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationSchema
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT
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 configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse

getConfigurationGroupValues

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values \
  -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/notifications/configurations/groups/{groupName}/values 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/notifications/configurations/groups/{groupName}/values',
{
  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/notifications/configurations/groups/{groupName}/values',
  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/notifications/configurations/groups/{groupName}/values',
  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/notifications/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values");
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/notifications/configurations/groups/{groupName}/values", data)
    req.Header = headers

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

Fetch the values for the specified configuration group

GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values

Return a representation of this configuration group values resource.

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
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

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationValues
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT
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 configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse

updateConfigurationGroupValues

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "dailyLimit": 5,
  "cutoffTime": 63000
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values',
{
  method: 'PUT',
  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',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values',
  method: 'put',

  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',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
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"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values", data)
    req.Header = headers

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

Update the values for the specified configuration group

PUT https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values

Perform a complete replacement of this set of values.

Body parameter

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body configurationValues (required)

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationSchema
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT
StatusDescription
400 Bad Request
Bad Request. The request body is invalid. It is either not valid JSON or it does not conform to the corresponding configuration group schema. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
403 Forbidden
Access denied. Only administrators may update configuration.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

getConfigurationGroupValue

Code samples

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

GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName} 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/notifications/configurations/groups/{groupName}/values/{valueName}',
{
  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/notifications/configurations/groups/{groupName}/values/{valueName}',
  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/notifications/configurations/groups/{groupName}/values/{valueName}',
  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/notifications/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}");
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/notifications/configurations/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

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

Fetch a single value associated with the specified configuration group

GET https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}

Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration group. The response is always a JSON value which can be parsed with a strict JSON parser. The response may be

  • a primitive number, boolean, or quoted JSON string.
  • a JSON array.
  • a JSON object.
  • null. Examples:
  • "a string configuration value"
  • 120
  • true
  • null
  • { "borderWidth": 8, "foregroundColor": "blue" } To update a specific value, use PUT /users/configurations/groups/{groupName}/values/{valueName} (operation updateConfigurationGroupValue).

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
valueName
in: path
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*.

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK. The value of the named configuration value as a JSON string, number, boolean, array, or object.
Schema: string
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this configuration group resource.
StatusDescription
404 Not Found

Not Found. There is either no such configuration group resource at the specified {groupName} or no such value at the specified {valueName}. 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

updateConfigurationGroupValue

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = 'string';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}',
{
  method: 'PUT',
  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',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}',
  method: 'put',

  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',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
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"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

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

Update a single value associated with the specified configuration group

PUT https://api.devbank.apiture.com/notifications/configurations/groups/{groupName}/values/{valueName}

Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration group as defined in the configuration group's schema. The request body must conform to the configuration group's schema for the named {valueName}. This operation is idempotent. The request body must be a JSON value which can be parsed with a strict JSON parser. The response may be

  • a primitive number, boolean, or quoted JSON string.
  • a JSON array.
  • a JSON object.
  • null. Examples:
  • "a string configuration value"
  • 120
  • true
  • null
  • { "borderWidth": 8, "foregroundColor": "blue" } To fetch specific value, use GET /users/configurations/groups/{groupName}/values/{valueName} (operation getConfigurationGroupValue).

Body parameter

"string"

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
valueName
in: path
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body string (required)
The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or object.

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK.
Schema: string
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this configuration group resource.
StatusDescription
400 Bad Request
Bad Request. The request body is invalid. It is either not valid JSON or it does not conform to the corresponding configuration group schema. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
403 Forbidden
Access denied. Only administrators may update configuration.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is either no such configuration group resource at the specified {groupName} or no such value at the specified {valueName}. 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
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
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

activeNotification

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/activeNotification/v1.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": false,
  "dismissed": false,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on 2020-04-09. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Active Notification (v1.1.1)

Representation of an active notification resource for a client type (web or mobile) and user language(s) preference.

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

RelSummaryMethod
apiture:dismissDismiss a notificationPOST
apiture:definitionFetch a representation of this notification definitionGET

Properties

NameDescription
Active Notification (v1.1.1) object

Representation of an active notification resource for a client type (web or mobile) and user language(s) preference.

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

RelSummaryMethod
apiture:dismissDismiss a notificationPOST
apiture:definitionFetch a representation of this notification definitionGET
_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 notificationEmbeddedObjects
Embedded objects
_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
contextUri string(uri)
The URI of a resource that defines the content of this notification, such as an account, a user, or the global resource URI, https://production.api.apiture.com/domains/notifications/global. The URI need not have the https://hostname portion but must either start with https://{hostname}/ or be the full resource path starting with a /.
format: uri
maxLength: 2048
_id string
The unique identifier for this notification resource. This is an immutable opaque string.
read-only
maxLength: 48
dismissed boolean
true if this the user has dismissed this notification.
read-only
notDismissible boolean
true if this the notification definition is notDismissible.
read-only
readState boolean
true if this the user has read this notification or a client application has presented the notification to the end user. Turn on with dismissNotification.
read-only
expired boolean
true if this notification's expiration date-time has passed.
read-only
message notificationMessage
The message text for this notification, derived from the notification definition's message or webMessage or mobileMessage, as per the clientType and languages query parameter on getActiveNotifications. The getActiveNotifications operation also replaces variables in the message text template with the values in the values object.
read-only

activeNotifications

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

Active Notifications (v1.2.1)

A list of active notifications for a user, in high to low priority order. These are notifications for a context, a client type (web, mobile), and one or more language preferences.

Properties

NameDescription
Active Notifications (v1.2.1) object
A list of active notifications for a user, in high to low priority order. These are notifications for a context, a client type (web, mobile), and one or more language preferences.
_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 embeddedActiveNotifications
Embedded objects.
_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.
Additional Properties: true

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.1)

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.1) 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.

configurationGroup

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": 63000
  }
}

Configuration Group (v2.1.1)

Represents a configuration group.

This schema was resolved from configurations/configurationGroup.

Properties

NameDescription
Configuration Group (v2.1.1) object
Represents a configuration group.

This schema was resolved from configurations/configurationGroup.

_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
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: "[a-zA-Z][-\\w_]*"
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096
schema configurationSchema
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

values configurationValues
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

configurationGroupSummary

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API"
}

Configuration Group Summary (v2.1.1)

A summary of the data contained within a configuration group resource.

This schema was resolved from configurations/configurationGroupSummary.

Properties

NameDescription
Configuration Group Summary (v2.1.1) object
A summary of the data contained within a configuration group resource.

This schema was resolved from configurations/configurationGroupSummary.

_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
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: "[a-zA-Z][-\\w_]*"
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096

configurationGroups

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_embedded": {
    "items": [
      {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/basic"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Transfers API"
      },
      {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/calendar"
          }
        },
        "name": "calendar",
        "label": "Calendar",
        "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
      }
    ]
  }
}

Configuration Group Collection (v2.1.1)

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

This schema was resolved from configurations/configurationGroups.

Properties

NameDescription
Configuration Group Collection (v2.1.1) object
Collection of configuration groups. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

This schema was resolved from configurations/configurationGroups.

_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 configurationGroupsEmbedded
Embedded objects.
_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.

configurationGroupsEmbedded

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.1.1/profile.json",
      "_links": {
        "self": {
          "href": "/configurations/groups/basic"
        }
      },
      "name": "basic",
      "label": "Basic Settings",
      "description": "The basic settings for the Transfers API"
    }
  ]
}

Configuration Groups Embedded Objects (v1.1.1)

Objects embedded in the configurationGroupscollection.

This schema was resolved from configurations/configurationGroupsEmbedded.

Properties

NameDescription
Configuration Groups Embedded Objects (v1.1.1) object
Objects embedded in the configurationGroupscollection.

This schema was resolved from configurations/configurationGroupsEmbedded.

items array: [configurationGroupSummary]
An array containing a page of configuration group items.
items: object

configurationSchema

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Configuration Schema (v2.1.0)

The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

Properties

NameDescription
Configuration Schema (v2.1.0) object
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

Configuration Schema Value (v2.0.0) configurationSchemaValue
The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

configurationSchemaValue

{}

Configuration Schema Value (v2.0.0)

The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

Properties

NameDescription
Configuration Schema Value (v2.0.0) object
The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

configurationValue

{}

Configuration Value (v2.0.0)

The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

Properties

NameDescription
Configuration Value (v2.0.0) object
The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

configurationValues

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Configuration Values (v2.0.0)

The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

Properties

NameDescription
Configuration Values (v2.0.0) object
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

Configuration Value (v2.0.0) configurationValue
The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

createGlobalNotificationDefinition

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/createGlobalNotificationDefinition/v1.1.1/profile.json",
  "_links": {},
  "priority": "high",
  "message": {
    "text": "The bank branch at {address} will be closed until September 17 due to Hurricane Heathcliff. See [our announcement](http://www.3rdpartybank.com/announcements/heathcliff) for more information.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/hurricane-flag.png",
    "variants": {
      "es": {
        "text": "La sucursal bancaria en {address} estar\\u00e1 cerrada hasta el 17 de septiembre debido al hurac\\u00e1n Heathcliff. Consulte [nuestro anuncio](http://www.3rdpartybank.com/announcements/heathcliff) para obtener m\\u00e1s informaci\\u00f3n.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/hurricane-flag.png"
      }
    }
  },
  "values": {
    "address": "123 N. Main St. Wilmington"
  }
}

Create Global Notification Definition (v1.1.1)

Representation used to create a new global notification definition. The message property must be defined or both webMessage or mobileMessage properties must be defined.

Properties

NameDescription
Create Global Notification Definition (v1.1.1) object
Representation used to create a new global notification definition. The message property must be defined or both webMessage or mobileMessage properties must be defined.
_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
type string
A programmatic name for the kind of notification this defines, such as cdMaturingSoon or cdInGracePeriod. Clients may elect to respond differently or specially to different well-known notification types.
maxLength: 32
default: "announcement"
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
message notificationMessage
The default message text template for notification instances. This may be overridden for web or mobile client types with the webMessage or mobileMessage properties. A definition must defined either the message property or both webMessage or mobileMessage properties.
webMessage notificationMessage
The message text template for this notification for web application clients, when using [GET /activeNotifications?clientType=web](#op-activeNotifications. If this is not defined, notifications use message.
mobileMessage notificationMessage
The message text template for this notification for mobile application clients, when using [GET /activeNotifications?clientType=mobile](#op-activeNotifications. If this is not defined, notifications use message.
values object
An optional map of name/value variables to insert into the formatted message. For example, the for message text We have increased the rate of your CD from {oldApy}% to {newApy}%., the values should define oldApy and newApy:
{ "oldApy": "1.750", "newApy": "1.800"}. These values are defaults for instances which do not override values.
Additional Properties: true
priority notificationPriority
The priority of this notification.
maxLength: 8
default: "medium"
enum values: low, medium, high
indicator boolean
If true, each notification instantiated from this definition is a visual indicator (a.k.a. badge) rather than a dismissible visual message, and the dismissNotification operation is not allowed. This may not be true if notDismissible is true.
default: false
notDismissible boolean
If true, each notification instantiated from this definition does not have a UI control to dismiss it, and the dismissNotification operation is not allowed. This may not be true if indicator is true.
expiresAt string(date-time)
The notification definition's expiration timestamp in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ. When the definition expires, all active notifications also expire.
format: date-time

createNotification

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/createNotification/v1.0.1/profile.json",
  "_links": {},
  "definitionId": "41cf829b-879d-4334-9085-7ac18333ce47",
  "userId": "80ebfabf-7a26-48a9-96c2-86f4dca8706f",
  "contextUri": "https://api.devbank.apiture.com/accounts/account/ba611f3a-ab1b-4ad7-aaf6-56a240123818"
}

Create Notification (v1.0.1)

Representation used to create a new notification for a user from a notification definition and a specific notification context.

Properties

NameDescription
Create Notification (v1.0.1) object
Representation used to create a new notification for a user from a notification definition and a specific notification context.
_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
contextUri string(uri) (required)
The URI of a resource that defines the content of this notification, such as an account, a user, or the global resource URI, https://production.api.apiture.com/domains/notifications/global. The URI need not have the https://hostname portion but must either start with https://{hostname}/ or be the full resource path starting with a /.
format: uri
maxLength: 2048
definitionId string (required)
The _id of an active notification definition. The properties of the definition will be used to set some of the properties of this new notification.
maxLength: 48
userId string (required)
The ID of a digital banking user who owns and can view and dismiss this notification.
maxLength: 48

createNotificationDefinition

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/createNotificationDefinition/v1.1.2/profile.json",
  "_links": {},
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "priority": "medium",
  "message": {
    "text": "We have increased the rate of your CD from {oldApy}% to {newApy}%.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png",
    "variants": {
      "es": {
        "text": "Hemos aumentado la velocidad de su CD de {oldApy}% a {newApy}%.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png"
      },
      "fr": {
        "text": "Nous avons augment\\u00e9 le taux de votre CD de {oldApy}% \\00e0 {newApy}%.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/fr/notifications/cdRateIncreased.png"
      }
    }
  },
  "values": {
    "oldApy": "1.750",
    "newApy": "1.8.0"
  }
}

Create Notification Definition (v1.1.2)

Representation used to create a new notification definition. The message property must be defined or both webMessage or mobileMessage properties must be defined.

Properties

NameDescription
Create Notification Definition (v1.1.2) object
Representation used to create a new notification definition. The message property must be defined or both webMessage or mobileMessage properties must be defined.
_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
type string
A programmatic name for the kind of notification this defines, such as cdMaturingSoon or cdInGracePeriod. Clients may elect to respond differently or specially to different well-known notification types.
maxLength: 32
default: "announcement"
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
message notificationMessage
The default message text template for notification instances. This may be overridden for web or mobile client types with the webMessage or mobileMessage properties. A definition must defined either the message property or both webMessage or mobileMessage properties.
webMessage notificationMessage
The message text template for this notification for web application clients, when using [GET /activeNotifications?clientType=web](#op-activeNotifications. If this is not defined, notifications use message.
mobileMessage notificationMessage
The message text template for this notification for mobile application clients, when using [GET /activeNotifications?clientType=mobile](#op-activeNotifications. If this is not defined, notifications use message.
values object
An optional map of name/value variables to insert into the formatted message. For example, the for message text We have increased the rate of your CD from {oldApy}% to {newApy}%., the values should define oldApy and newApy:
{ "oldApy": "1.750", "newApy": "1.800"}. These values are defaults for instances which do not override values.
Additional Properties: true
priority notificationPriority
The priority of this notification.
maxLength: 8
default: "medium"
enum values: low, medium, high
indicator boolean
If true, each notification instantiated from this definition is a visual indicator (a.k.a. badge) rather than a dismissible visual message, and the dismissNotification operation is not allowed. This may not be true if notDismissible is true.
default: false
notDismissible boolean
If true, each notification instantiated from this definition does not have a UI control to dismiss it, and the dismissNotification operation is not allowed. This may not be true if indicator is true.
expiresAt string(date-time)
The notification definition's expiration timestamp in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ. When the definition expires, all active notifications also expire.
format: date-time
contextName string (required)
A programmatic name of the context for this notification. This could be "global" for a global notification/alert directed at all users, or "account" if the notification applies to a banking account, or "user" if the notification applies to a user, etc. The value "none" means the client should not show the notification in a specific banking context. Instead, the client should show these notifications in a page, screen or view dedicated to just notifications. (If contextName is "none", use the type to define what kind of notification it is and what it applies to.)
minLength: 4
maxLength: 32
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
contextUriTemplate string
An optional URI template for expanding simple identifiers in contexts to full URIs. For example, the value /accounts/accounts/{id} will convert the simple id value 30f38b8a365c to the URI /accounts/accounts/30f38b8a365c. This string must have the substring {id} in it.
maxLength: 2048
contextUri string(uri)
The URI of a resource that defines the content of this notification, such as the global resource URI, https://production.api.apiture.com/domains/notifications/global. For non-global notifications, instances supply their own contextUri explicitly or by injecting a contextId into the definition's contextUriTemplate.
format: uri
maxLength: 2048

embeddedActiveNotifications

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/notifications/activeNotification/v1.1.1/profile.json",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:dismiss": {
          "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:definition": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
        }
      },
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "readState": false,
      "dismissed": false,
      "expired": false,
      "dismissedAt": "2020-04-02T11:01:31.375Z",
      "expiresAt": "2020-04-T21:00:00.000",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "_embedded": {
        "definition": {
          "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
          "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
          "type": "cdMaturingSoon",
          "contextName": "account",
          "indicator": true,
          "priority": "medium",
          "message": {
            "text": "This CD account is maturing on 2020-04-09. Now is a good time to review your account maturity settings.",
            "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
          },
          "values": {
            "maturityDate": "2020-04-09"
          },
          "_links": {
            "self": {
              "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
            }
          }
        }
      }
    }
  ]
}

Embedded Active Notifications (v1.1.1)

The list of active notifications for a user's context.

Properties

NameDescription
Embedded Active Notifications (v1.1.1) object
The list of active notifications for a user's context.
items array: [activeNotification]
An array of active notifications, in high to low priority order.
items: object

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.
Additional Properties: true
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.1/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.1)

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.1) 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

instance

{
  "contextId": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "contextUri": "https://api.devbank.apiture.com/accounts/account/17434982-0419-4047-9855-389dac6970f7",
  "userIds": [
    "82535922-335f-4c95-8000-c663a50aec9c",
    "191c5118-b6d5-4cc7-92bd-3eede737513e"
  ]
}

Notification Instance (v1.1.0)

Values for creating notification instances for a definition. Each instance must contain either a contextId or a contextUri. Using userIds, one instance item create multiple notification instances.

Properties

NameDescription
Notification Instance (v1.1.0) object
Values for creating notification instances for a definition. Each instance must contain either a contextId or a contextUri. Using userIds, one instance item create multiple notification instances.
contextId string
The _id of a resource, such as the ID of an account. The containing instances resource must define the contextUriTemplate.
maxLength: 48
contextUri string(uri)
The URI of a resource. This may be a partial URI or a full URI.
format: uri
maxLength: 2048
userIds array: [string] (required)
A notification is created for each user identified by these userIds. Each unique item is the _id of a User resource.
unique items
minLength: 1
items: string
» maxLength: 48
values object
An optional map of name/value variables to insert into the formatted message. For example, the for message tex We have increased the rate of your CD from {oldApy}% to {newApy}%., the values should define oldApy and newApy:
{ "oldApy": "1.750", "newApy": "1.800"}. If omitted, the instance uses the values of the notification definition.
Additional Properties: true
expiresAt string(date-time)
The notification's expiration timestamp in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ. If omitted, the instance uses the expiresAt of the notification definition.
format: date-time

instances

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/instances/v1.1.1/profile.json",
  "_links": {},
  "contextUriTemplate": "/accounts/accounts/{id}",
  "instances": [
    {
      "contextId": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "userIds": [
        "82535922-335f-4c95-8000-c663a50aec9c",
        "7131b08f-2c47-4c23-a4ad-fb31d895acb3",
        "9cdbae90-a120-4a71-8314-d0f6051c86fa"
      ],
      "expiresAt": "2020-05-08T14:00:00.00Z"
    },
    {
      "contextId": "4c1e7436-14cb-4434-a46e-9d7b4e3f02ea",
      "userIds": [
        "1cbdd896-0730-4a7d-af68-1834de0cfe84",
        "c433df56-b9ef-44ed-bcb8-52bbfb4df5f8"
      ],
      "expiresAt": "2020-05-10T14:00:00.00Z",
      "values": {
        "oldApy": "1.750",
        "newApy": "1.8.0"
      }
    }
  ]
}

Notification Instances (v1.1.1)

Collection of instances to create and add to a notification definition. Each instance contains properties to create an notification instance from this definition, each with their own context, user, and optional expiration date-time and optional values to inject into the message

The request also contains a contextUriTemplate to map a context ID to a URI, so that thousands of contexts can be expressed in a more concise notation, consisting of just the IDs instead of thousands of URIs. Thus, the caller does not have to build full URIs.

Message bodies are limited to 20,000 instances per call. If a caller need to create more notifications, it should send multiple requests.

Properties

NameDescription
Notification Instances (v1.1.1) object
Collection of instances to create and add to a notification definition. Each instance contains properties to create an notification instance from this definition, each with their own context, user, and optional expiration date-time and optional values to inject into the message

The request also contains a contextUriTemplate to map a context ID to a URI, so that thousands of contexts can be expressed in a more concise notation, consisting of just the IDs instead of thousands of URIs. Thus, the caller does not have to build full URIs.

Message bodies are limited to 20,000 instances per call. If a caller need to create more notifications, it should send multiple requests.

_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
contextUriTemplate string
An optional URI template for expanding simple contextId in each of the instances items to URIs. If used, this string must have the substring {id} in it, It can be just a partial URI path or a compete URI. For example, for the template https://api.3rdparty.bank/accounts/accounts/{id} the 'contextId' value 30f38b8a365c maps to the URI https://api.3rdparty.bank/accounts/accounts/30f38b8a365c.
maxLength: 2048
pattern: ".*{id}.*"
instances array: [instance] (required)
An array containing a page of notification instance items. Due to request body size limits, call this multiple times to create more than 20,000 notification instances.
maxItems: 20000
items: object

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.3)

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.3) 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.2) 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 systems, 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.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "firstGroup": {
      "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.3)

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.3) 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.3) 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

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

Label Item (v1.0.2)

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 systems, 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.2) 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 systems, 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.

notification

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:markAsRead": {
      "href": "https://api.devbank.apiture.com/dismissedNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:dismiss": {
      "href": "https://api.devbank.apiture.com/readNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredNotifications?notification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:definition": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/00b68bc7-497c-4ce5-b8bd-47c6a8f33c22"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": true,
  "dismissed": true,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-T21:00:00.000",
  "readAt": "2020-04-02T11:01:31.375Z",
  "_embedded": {
    "definition": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
      "type": "cdMaturingSoon",
      "contextName": "account",
      "indicator": true,
      "priority": "medium",
      "message": {
        "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
        "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
      },
      "values": {
        "maturityDate": "2020-04-09"
      },
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  }
}

Notification (v1.2.1)

Representation of a notification resource. The embedded _embedded.definition notification definition contains the notification's type, contextName, priority and other properties (these properties are shared with all notifications defined by that definition.) The _embedded.definition is always included in the getNotification response as well as in the notifications in the getActiveNotifications response.

Note: This representation does not contain the message property; use getActiveNotifications to obtain renderable active notifications.

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

RelSummaryMethod
apiture:dismissDismiss a notificationPOST
apiture:markAsReadMark a notification as read.POST
apiture:expireExpire a notificationPOST
apiture:context ContextGET
apiture:definitionFetch a representation of this notification definitionGET

Properties

NameDescription
Notification (v1.2.1) object

Representation of a notification resource. The embedded _embedded.definition notification definition contains the notification's type, contextName, priority and other properties (these properties are shared with all notifications defined by that definition.) The _embedded.definition is always included in the getNotification response as well as in the notifications in the getActiveNotifications response.

Note: This representation does not contain the message property; use getActiveNotifications to obtain renderable active notifications.

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

RelSummaryMethod
apiture:dismissDismiss a notificationPOST
apiture:markAsReadMark a notification as read.POST
apiture:expireExpire a notificationPOST
apiture:context ContextGET
apiture:definitionFetch a representation of this notification definitionGET
_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 notificationEmbeddedObjects
Embedded objects
read-only
_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
contextUri string(uri)
The URI of a resource that defines the content of this notification, such as an account, a user, or the global resource URI, https://production.api.apiture.com/domains/notifications/global. The URI need not have the https://hostname portion but must either start with https://{hostname}/ or be the full resource path starting with a /.
format: uri
maxLength: 2048
_id string
The unique identifier for this notification resource. This is an immutable opaque string.
read-only
maxLength: 48
dismissed boolean
true if this the user has dismissed this notification.
read-only
notDismissible boolean
true if this the notification definition is notDismissible.
read-only
readState boolean
true if this the user has read this notification or a client application has presented the notification to the end user. Turn on with dismissNotification.
read-only
expired boolean
true if this notification's expiration date-time has passed.
read-only
values object
An optional map of name/value variables to insert into the formatted message. For example, the for message tex We have increased the rate of your CD from {oldApy}% to {newApy}%., the values should define oldApy and newApy:
{ "oldApy": "1.750", "newApy": "1.800"}. If omitted, the instance uses the values of the notification definition.
read-only
Additional Properties: true
expiresAt string(date-time)
The notification's expiration timestamp in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ. If omitted, the instance uses the expiresAt of the notification definition.
read-only
format: date-time
dismissedAt string(date-time)
The date/time the user dismissed this notification, in RFC 3339 format, UTC. This property is omitted if dismissed is false.
read-only
format: date-time
readAt string(date-time)
The date/time the user read this notification, in RFC 3339 format, UTC. This property is omitted if dismissed is false.
read-only
format: date-time

notificationDefinition

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:expire": {
      "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:createNotifications": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:26:36.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  },
  "priority": "medium",
  "updatedAt": "2020-04-16T12:00:22.100Z"
}

Notification Definition (v1.0.2)

Representation of a notification definition resource.

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

RelSummaryMethod
apiture:expireExpire a notification definitionPOST
apiture:createNotificationsCreate notifications from a notification definition.POST

Properties

NameDescription
Notification Definition (v1.0.2) object

Representation of a notification definition resource.

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

RelSummaryMethod
apiture:expireExpire a notification definitionPOST
apiture:createNotificationsCreate notifications from a notification definition.POST
_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
type string
A programmatic name for the kind of notification this defines, such as cdMaturingSoon or cdInGracePeriod. Clients may elect to respond differently or specially to different well-known notification types.
maxLength: 32
default: "announcement"
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
message notificationMessage
The default message text template for notification instances. This may be overridden for web or mobile client types with the webMessage or mobileMessage properties. A definition must defined either the message property or both webMessage or mobileMessage properties.
webMessage notificationMessage
The message text template for this notification for web application clients, when using [GET /activeNotifications?clientType=web](#op-activeNotifications. If this is not defined, notifications use message.
mobileMessage notificationMessage
The message text template for this notification for mobile application clients, when using [GET /activeNotifications?clientType=mobile](#op-activeNotifications. If this is not defined, notifications use message.
values object
An optional map of name/value variables to insert into the formatted message. For example, the for message text We have increased the rate of your CD from {oldApy}% to {newApy}%., the values should define oldApy and newApy:
{ "oldApy": "1.750", "newApy": "1.800"}. These values are defaults for instances which do not override values.
Additional Properties: true
priority notificationPriority
The priority of this notification.
maxLength: 8
default: "medium"
enum values: low, medium, high
indicator boolean
If true, each notification instantiated from this definition is a visual indicator (a.k.a. badge) rather than a dismissible visual message, and the dismissNotification operation is not allowed. This may not be true if notDismissible is true.
default: false
notDismissible boolean
If true, each notification instantiated from this definition does not have a UI control to dismiss it, and the dismissNotification operation is not allowed. This may not be true if indicator is true.
expiresAt string(date-time)
The notification definition's expiration timestamp in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ. When the definition expires, all active notifications also expire.
format: date-time
contextName string
A programmatic name of the context for this notification. This could be "global" for a global notification/alert directed at all users, or "account" if the notification applies to a banking account, or "user" if the notification applies to a user, etc. The value "none" means the client should not show the notification in a specific banking context. Instead, the client should show these notifications in a page, screen or view dedicated to just notifications. (If contextName is "none", use the type to define what kind of notification it is and what it applies to.)
minLength: 4
maxLength: 32
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
contextUriTemplate string
An optional URI template for expanding simple identifiers in contexts to full URIs. For example, the value /accounts/accounts/{id} will convert the simple id value 30f38b8a365c to the URI /accounts/accounts/30f38b8a365c. This string must have the substring {id} in it.
maxLength: 2048
contextUri string(uri)
The URI of a resource that defines the content of this notification, such as the global resource URI, https://production.api.apiture.com/domains/notifications/global. For non-global notifications, instances supply their own contextUri explicitly or by injecting a contextId into the definition's contextUriTemplate.
format: uri
maxLength: 2048
_id string
The unique identifier for this notification definition resource. This is an immutable opaque string.
read-only
maxLength: 128
expired boolean
true if this notification definition's expiration date-time has passed.
read-only
createdAt string(date-time)
The the notification definition's creation date-time. This is an RFC 3369 formatted date-time string, YYYY-MM-DDThh:mm:ss.sssZ. This is a derived field and is immutable.
read-only
format: date-time
updatedAt string(date-time)
The notification definition's last update date-time. This is an RFC 3369 formatted date-time string, YYYY-MM-DDThh:mm:ss.sssZ. This is a derived field and is immutable.
read-only
format: date-time

notificationDefinitions

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinitions/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/notifications/definitions?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/notifications/definitions?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/notifications/definitions"
    }
  },
  "name": "definitions",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotificationDefinition/v1.1.2/profile.json",
        "type": "cdMaturingSoon",
        "contextName": "account",
        "indicator": true,
        "notDismissible": false,
        "priority": "medium",
        "message": {
          "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
          "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
        },
        "values": {
          "maturityDate": "2020-04-09"
        },
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:expire": {
            "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:createNotifications": {
            "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
          }
        }
      }
    ]
  }
}

Notification Definition Collection (v1.1.2)

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

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

RelSummaryMethod
apiture:expireDefinitionExpire a notification definitionPOST

Properties

NameDescription
Notification Definition Collection (v1.1.2) object

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

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

RelSummaryMethod
apiture:expireDefinitionExpire a notification definitionPOST
_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: [summaryNotificationDefinition]
An array containing a page of definition 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.

notificationEmbeddedObjects

{
  "definition": {
    "_profile": "https://production.api.apiture.com/schemas/notifications/notificationDefinition/v1.0.2/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:expire": {
        "href": "https://api.devbank.apiture.com/expiredDefinitions?definition=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:createNotifications": {
        "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c/notifications"
      }
    },
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "type": "cdMaturingSoon",
    "contextName": "account",
    "indicator": true,
    "notDismissible": false,
    "expired": false,
    "expiresAt": "2020-04-18T12:26:36.375Z",
    "message": {
      "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
      "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
    },
    "values": {
      "maturityDate": "2020-04-09"
    },
    "priority": "medium",
    "updatedAt": "2020-04-16T12:00:22.100Z"
  }
}

Notification Embedded Objects (v1.0.2)

Nested objects for a notification instance.

Properties

NameDescription
Notification Embedded Objects (v1.0.2) object
Nested objects for a notification instance.
definition notificationDefinition
The notification definition for this notification.

notificationMessage

{
  "text": "We have increased the rate of your CD from {oldApy}% to {newApy}%.",
  "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdRateIncreased.png",
  "variants": {
    "es": {
      "text": "Hemos aumentado la velocidad de su CD de {oldApy}% a {newApy}%.",
      "imageUri": "https://cdn.assets.3rdpartybank.com/icons/es/notifications/cdRateIncreased.png"
    },
    "fr": {
      "text": "Nous avons augment\\u00e9 le taux de votre CD de {oldApy}% \\00e0 {newApy}%.",
      "imageUri": "https://cdn.assets.3rdpartybank.com/icons/fr/notifications/cdRateIncreased.png"
    }
  }
}

Notification Message (v1.0.0)

The presentation elements of a notification message: the text, image icon URL, and language variants for the text and image.

Properties

NameDescription
Notification Message (v1.0.0) object
The presentation elements of a notification message: the text, image icon URL, and language variants for the text and image.
text string(markdown) (required)
A notification message in Github Flavored Markdown. The text may contain variable references (identifiers in braces such as {oldApy}) which are replaced by corresponding values from the notification instance or definition. In the example, the values must define the variables oldApy and newApy.
format: markdown
minLength: 1
maxLength: 4096
imageUri string(uri)
The URL of an icon or visual representation of this notification or notification definition.
format: uri
maxLength: 2048
variants object
The language-specific variants of this message text. The keys in this object are RFC 7231 language codes.
» Notification Message (v1.0.0) simpleMessage
The message and optional image (icon) URI for a notification message.

notificationPriority

"low"

Notification Priority (v1.0.0)

The priority of a notification.

notificationPriority strings may have one of the following enumerated values:

ValueDescription
lowLow
mediumMedium
highHigh

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

type: string


maxLength: 8
enum values: low, medium, high

notifications

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/notifications/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/notifications/notifications?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/notifications/notifications?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/notifications/notifications"
    }
  },
  "name": "notifications",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotification/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotification/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/notifications/notifications/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Notification Collection (v1.2.1)

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

Properties

NameDescription
Notification Collection (v1.2.1) object
Collection of notifications. The items in the collection are ordered in the _embedded.items array; the name is notifications. 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: [summaryNotification]
An array containing a page of notification 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.

root

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/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.1)

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.1) 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.

simpleMessage

{
  "text": "We have increased the rate of your CD from {oldApy}% to {newApy}%.",
  "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdRateIncreased.png"
}

Notification Message (v1.0.0)

The message and optional image (icon) URI for a notification message.

Properties

NameDescription
Notification Message (v1.0.0) object
The message and optional image (icon) URI for a notification message.
text string(markdown) (required)
A notification message in Github Flavored Markdown. The text may contain variable references (identifiers in braces such as {oldApy}) which are replaced by corresponding values from the notification instance or definition. In the example, the values must define the variables oldApy and newApy.
format: markdown
minLength: 1
maxLength: 4096
imageUri string(uri)
The URL of an icon or visual representation of this notification or notification definition.
format: uri
maxLength: 2048

summaryNotification

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotification/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/notifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "readState": false,
  "dismissed": false,
  "expired": false,
  "dismissedAt": "2020-04-02T11:01:31.375Z",
  "expiresAt": "2020-04-18T12:15:21.375Z"
}

Notification Summary (v1.2.1)

Summary representation of a notification resource in notifications collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

Properties

NameDescription
Notification Summary (v1.2.1) object
Summary representation of a notification resource in notifications collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.
_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
contextUri string(uri)
The URI of a resource that defines the content of this notification, such as an account, a user, or the global resource URI, https://production.api.apiture.com/domains/notifications/global. The URI need not have the https://hostname portion but must either start with https://{hostname}/ or be the full resource path starting with a /.
format: uri
maxLength: 2048
_id string
The unique identifier for this notification resource. This is an immutable opaque string.
read-only
maxLength: 48
dismissed boolean
true if this the user has dismissed this notification.
read-only
notDismissible boolean
true if this the notification definition is notDismissible.
read-only
readState boolean
true if this the user has read this notification or a client application has presented the notification to the end user. Turn on with dismissNotification.
read-only
expired boolean
true if this notification's expiration date-time has passed.
read-only

summaryNotificationDefinition

{
  "_profile": "https://production.api.apiture.com/schemas/notifications/summaryNotificationDefinition/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/notifications/definitions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "type": "cdMaturingSoon",
  "contextName": "account",
  "indicator": true,
  "notDismissible": false,
  "expired": false,
  "expiresAt": "2020-04-18T12:15:21.375Z",
  "message": {
    "text": "This CD account is maturing on {maturityDate}. Now is a good time to review your account maturity settings.",
    "imageUri": "https://cdn.assets.3rdpartybank.com/icons/en/notifications/cdMaturingSoon.png"
  },
  "values": {
    "maturityDate": "2020-04-09"
  }
}

Notification Definition Summary (v1.1.2)

Summary representation of a definition resource in notification definitions collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

Properties

NameDescription
Notification Definition Summary (v1.1.2) object
Summary representation of a definition resource in notification definitions collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.
_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
type string
A programmatic name for the kind of notification this defines, such as cdMaturingSoon or cdInGracePeriod. Clients may elect to respond differently or specially to different well-known notification types.
maxLength: 32
default: "announcement"
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
message notificationMessage
The default message text template for notification instances. This may be overridden for web or mobile client types with the webMessage or mobileMessage properties. A definition must defined either the message property or both webMessage or mobileMessage properties.
webMessage notificationMessage
The message text template for this notification for web application clients, when using [GET /activeNotifications?clientType=web](#op-activeNotifications. If this is not defined, notifications use message.
mobileMessage notificationMessage
The message text template for this notification for mobile application clients, when using [GET /activeNotifications?clientType=mobile](#op-activeNotifications. If this is not defined, notifications use message.
values object
An optional map of name/value variables to insert into the formatted message. For example, the for message text We have increased the rate of your CD from {oldApy}% to {newApy}%., the values should define oldApy and newApy:
{ "oldApy": "1.750", "newApy": "1.800"}. These values are defaults for instances which do not override values.
Additional Properties: true
priority notificationPriority
The priority of this notification.
maxLength: 8
default: "medium"
enum values: low, medium, high
indicator boolean
If true, each notification instantiated from this definition is a visual indicator (a.k.a. badge) rather than a dismissible visual message, and the dismissNotification operation is not allowed. This may not be true if notDismissible is true.
default: false
notDismissible boolean
If true, each notification instantiated from this definition does not have a UI control to dismiss it, and the dismissNotification operation is not allowed. This may not be true if indicator is true.
expiresAt string(date-time)
The notification definition's expiration timestamp in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ. When the definition expires, all active notifications also expire.
format: date-time
contextName string
A programmatic name of the context for this notification. This could be "global" for a global notification/alert directed at all users, or "account" if the notification applies to a banking account, or "user" if the notification applies to a user, etc. The value "none" means the client should not show the notification in a specific banking context. Instead, the client should show these notifications in a page, screen or view dedicated to just notifications. (If contextName is "none", use the type to define what kind of notification it is and what it applies to.)
minLength: 4
maxLength: 32
pattern: "^[a-z][a-zA-Z0-9_$]{1,31}$"
contextUriTemplate string
An optional URI template for expanding simple identifiers in contexts to full URIs. For example, the value /accounts/accounts/{id} will convert the simple id value 30f38b8a365c to the URI /accounts/accounts/30f38b8a365c. This string must have the substring {id} in it.
maxLength: 2048
contextUri string(uri)
The URI of a resource that defines the content of this notification, such as the global resource URI, https://production.api.apiture.com/domains/notifications/global. For non-global notifications, instances supply their own contextUri explicitly or by injecting a contextId into the definition's contextUriTemplate.
format: uri
maxLength: 2048
_id string
The unique identifier for this notification definition resource. This is an immutable opaque string.
read-only
maxLength: 128
expired boolean
true if this notification definition's expiration date-time has passed.
read-only

Generated by @apiture/api-doc 3.2.1 on Wed Apr 10 2024 15:36:25 GMT+0000 (Coordinated Universal Time).