- Users v0.40.1
-
Error Types
- cannotChangeId
- cannotDeleteTaxAddress
- cannotReplaceTaxAddressWithPoBox
- cannotUpdateState
- challengedAlreadyRedeemed
- challengedExpired
- challengedNotVerified
- duplicateTaxId
- duplicateUsername
- groupNotFound
- invalidAddressType
- invalidOpenBankingParameters
- invalidPhoneType
- invalidStateChange
- invalidUserId
- itemStillPending
- malformedRequestBody
- missingApitureChallengeHeader
- noSuchChallenge
- noSuchOpenBankingIntegration
- noSuchProfileValue
- postOfficeBoxNotAllowedForTaxAddress
- requestError
- residentialAddressMayNotBePoBox
- updateUserError
- valueNotFound
- Authentication
- API
- Users
- User Actions
- Addresses
- Email Addresses
- Phone Numbers
- Encryption
- Third Party Consent
- Configuration
-
Schemas
- abstractRequest
- abstractResource
- address
- addressType
- attributes
- authenticator
- authenticatorCategory
- authenticatorState
- authenticatorType
- challenge
- challengeError
- challengeErrorResponse
- challengeState
- checkDepositConstraints
- checkDepositSegmentationTier
- citizenship
- collection
- configurationGroup
- configurationGroupSummary
- configurationGroups
- configurationGroupsEmbedded
- configurationSchema
- configurationSchemaValue
- configurationValue
- configurationValues
- constraints
- createOpenBankingConsentParameters
- createResourceTrackingIds
- createUser
- emailType
- employmentStatus
- encryptionKey
- encryptionKeyName
- encryptionKeys
- encryptionMetadata
- error
- errorResponse
- foreignPoliticalFigureAssociation
- identification
- identificationType
- identityVerification
- kycAnswers
- labelGroup
- labelGroups
- labelItem
- link
- links
- occupation
- openBankingConsentParameter
- openBankingConsentParameters
- phoneNumber
- phoneNumberType
- preferredContactMethod
- primaryIncomeSource
- profileItemState
- residencyStatus
- resourceTrackingId
- resourceTrackingIds
- root
- simpleAddress
- simpleContact
- simpleLabel
- summaryChallenge
- summaryUser
- transferConstraints
- typedEmailAddress
- user
- userAddress
- userAddresses
- userCoreBanking
- userEmailAddress
- userEmailAddresses
- userEnsentaCoreBanking
- userFinxactCoreBanking
- userIdentityVerificationState
- userPhoneNumber
- userPhoneNumbers
- userPreferences
- userSearch
- userState
- userTextSearch
- userVerificationFields
- users
- usersEmbedded
- yearsAtAddress
Users v0.40.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 Users API provides operations to create and maintain online customers for the financial institution. A user represents a person who has registered for online digital banking. Each user resource contains contact information about them (their name, addresses, phone numbers, email addresses) as well as birthdate, government identification, citizenship, and other information that allows the financial institution to conform to regulations related to customers. Every user is uniquely identifiable by a system-generated unique identifier. Users can be created (never deleted) and the state of a user can be modified by authorized financial institution administrators. This API also maintains other banking information about a user, such as their funds transfer limits or other constraints. In addition to the basic operations to create and modify users, there are several actions supported for users. API links for these actions are described in the user
schema.
- Lock - if someone attempts to log in with an incorrect password too many times,
the user is locked.
(
POST /lockedUsers?user={userId}
. The user can be unlocked by resetting their password. Unlocking a user is done by reactivating them (POST /activeUsers?user={userId}
). - Deactivate - If the financial institution wishes to suspend a user's activity.
(
POST /inactiveUsers?user={userId}
). Inactive users can be reactivated (POST /activeUsers?user={userId}
). - Freeze - If the financial institution suspects fraudulent use of a user's account,
they can freeze a user.
(
POST /frozenUsers?user={userId}
). Unfreezing a user is done by reactivating them (POST /activeUsers?user={userId}
). - Remove - The financial institution can remove a user when they leave the financial institution.
(
POST /removedUsers?user={userId}
). The user resource is retained rather than being deleted, so that other audit and other information that references the user remains valid.
This API also supports service configuration operations.
User addresses, phone numbers, and email addresses
A user
resource contains the user's addresses
, phoneNumbers
and emailAddresses
. These properties may be passed in the createUser
operation when a client is creating a new user, but are immutable after: the updateUser
and patchUser
operations do not change these readOnly
properties in the user
schema. This is a security measure to prevent account takeover attacks in case a user's login account is compromised.
Add new contact items to a user via createAddress
, createPhoneNumber
and createEmailAddress
. These operations also support a ?replaceId={id}
argument for replacing an existing item (by its ID). The financial institution may review and approve these changes to help prevent fraud. Replacing the user's tax address, preferred mailing address, email, or phone number may also require multi-factor authentication challenges; see the next section. Some financial institutions do not allow P.O. Boxes for tax addresses.
Multi-factor authentication challenges
To prevent account takeover attacks, some operations to update the user's profile require multi-factor authentication (MFA). An MFA challenge is a process to verify the user's identity through one or more additional authentication steps.
Some examples are the operations which change the user's preferred phone number:
setPreferredPhoneNumber
operationcreatePhoneNumber
operation when the?replaceId
names the current preferred phone number.
Both require an MFA challenge. When the client tries the operation without a valid redeemable Apiture-Challenge
request header, the operation may fail with a 409 Conflict. The response body, defined by the challengeErrorResponse
schema, contains a challenge
resource which includes one or more authenticators. The client should start at least one of the authenticators, optionally allowing the user choose which ones to use, depending on how many authenticators are required.
When changing the user's preferred phone number, for example, the challenge may include an authenticator that sends a verification code to the user's email account. The user completes the authentication by entering the code in the client application. Once the authentication step has completed successfully, the client must pass the resource ID of the challenge resource in the Apiture-Challenge
request header in order for the operation to update the user's profile information. Thus, these operations often require two tries: the first (without the Apiture-Challenge
header), which fails with a 409 status but returns the challenge object, then after completing the challenges' authenticators, a second try, passing in the Apiture-Challenge
header.
Open Banking Access
The Apiture APIs support open banking access via Financial Data Exchange and other integrators. The Configuration Service contains a public group named openBanking
which lists which integrations are enabled. The User's API provides a way to create a user experience component with which the banking customer can manage their consent for third party applications to access their banking data via these integrators. The client can call createOpenBankingConsentParameters
with the integrator ID to get the parameters necessary to instantiate the UI component.
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.
cannotChangeId
Description: The id of a resource cannot be changed.
Remediation: Please submit the correct id if you must include it in the request body.
cannotDeleteTaxAddress
Description: The financial institution does not allow deleting the address that is marked as the tax address.
Remediation: Assign another approved physical address as the tax address before deleting this one.
cannotReplaceTaxAddressWithPoBox
Description: The financial institution may require using a physical address when creating a new address to replace the user's tax address.
Remediation: Use either a physical address, or do not use the new address to replace the tax address.
cannotUpdateState
Description: A users state cannot be updated using put.
Remediation: See the apiture API documentation about using the /removedUsers, /activeUsers, /inactiveUsers, /lockedUsers and /frozenUsers endpoints to update state.
challengedAlreadyRedeemed
Description: The challenge resource specified in the Apiture-Challenge request header has been redeemed the maximum number of times.
Remediation: Obtain a new challenge resource.
challengedExpired
Description: The challenge resource specified in the Apiture-Challenge request header has expired.
Remediation: Obtain a new challenge resource.
challengedNotVerified
Description: The challenge resource specified in the Apiture-Challenge request header has not been verified.
Remediation: Complete the challenge verification before using a challenge resource.
duplicateTaxId
Description: A user with the given taxId already exists.
Remediation: Resubmit the operation with a unique taxId.
duplicateUsername
Description: A user with the given username already exists.
Remediation: Resubmit the operation with a unique username.
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.
invalidAddressType
Description: An invalid address type was given.
Remediation: Resubmit the operation with a valid address type according to the Users API documentation.
The attributes
object in the error may have the following properties:
Property | Type | Description |
---|---|---|
validTypes | [string ] |
A list of allowed address types. Example: home,mailing,home,prior,work,vacation,shipping,billing,headquarters,location,property,school,commercial,other |
invalidOpenBankingParameters
Description: Invalid parameters for the open banking configuration.
Remediation: Use the parameters defined for the given open banking configuration.
invalidPhoneType
Description: An invalid phone type was given.
Remediation: Resubmit the operation with a valid phone type according to the Users API documentation.
The attributes
object in the error may have the following properties:
Property | Type | Description |
---|---|---|
validTypes | [string ] |
A list of allowed phone number types. Example: home,mobile,work,fax,school,other |
invalidStateChange
Description: A user can only be changed to a different state if they meet the current state requirement.
Remediation: Check the state of the user and the applicable allowed state transitions in the Users API documentation.
The attributes
object in the error may have the following properties:
Property | Type | Description |
---|---|---|
requiredStates | [string ] |
A list of states the user must be in in order for this state change request to be valid. Example: inactive |
invalidUserId
Description: No Users were found for the specified userId.
Remediation: Check to make sure that the supplied userId corresponds to an apiture user resource.
itemStillPending
Description: The selected item cannot be assigned as preferred profile data because it is still pending
.
Remediation: Pass the _id of an approved
profile item.
malformedRequestBody
Description: The supplied request body was malformed.
Remediation: Check to make sure that your request body exists and that it does not contain syntax errors.
missingApitureChallengeHeader
Description: The Apiture-Challenge request header was not passed.
Remediation: Pass the _id of a valid, verified challenge resource in the Apiture-Challenge request header.
noSuchChallenge
Description: The challenge resource specified in the Apiture-Challenge request header does not exist.
Remediation: Pass the _id of an existing, unexpired, unredeemed challenge.
noSuchOpenBankingIntegration
Description: Invalid integration
for open banking.
Remediation: Use only an integration listed in the Configuration API's openBanking
configuration group.
noSuchProfileValue
Description: The selected profile value _id does not exist.
Remediation: Pass the _id of an existing item.
postOfficeBoxNotAllowedForTaxAddress
Description: The financial institution does not allow setting the tax address to a P.O. box.
Remediation: Select an approved physical address for the tax address.
requestError
Description: There was a server side error when executing the API request.
Remediation: Check your parameters and resubmit the request.
This error type may be included in error responses for the following HTTP status code: 5xx
residentialAddressMayNotBePoBox
Description: The financial institution may not allow setting the physical/residential address to a Post Office Box.
Remediation: Use an address type of poBox
for a Post Office Box address.
updateUserError
Description: There was an error updating the user with the given userId.
Remediation: Check to make sure that the user was not updated and resubmit the operation, if it was not.
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:
License: Pending.
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 privateclientId
(and optionalclientSecret
) as part of this flow. The client obtains an access token from the server attokenUrl
. It then passes the received access token via theAuthorization: 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
- OAuth2 client access token authentication. The client authenticates against the server at
Scope | Scope Description |
---|---|
profiles/read |
Read access to user and contact related resources. |
profiles/write |
Write (update) access to user and contact related resources. |
profiles/delete |
Delete access to user and contact related resources. |
profiles/readPii |
Read access to personally identifiable information such as tax ID numbers, phone numbers, email and postal addresses. This must be granted in addition to the profiles/read scope in order to read such data, but is included in the profiles/full scope. |
profiles/full |
Full access to user and contact related resources. |
admin/read |
Read access to system configuration or profile data. |
admin/write |
Write (update) access to user and contact related resources just for administrative roles. |
admin/delete |
Delete access to system configuration. |
admin/full |
Full access to system configuration. |
API
Endpoints which describe this API
getApi
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/ \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/users/ 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/users/',
{
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/users/',
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/users/',
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/users/', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/");
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/users/", 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/users/
Return links to the top-level resources and operations in this API. Links in the root response may include:
apiture:me
: The current authenticated userapiture:users
: The collection of all usersapiture:createUser
: Create a new user (viaPOST
) withcreateUser
schema.getLabels
: Retrieve labels for the API's enumerations and choice listsgetApiDoc
: Return the OpenAPI document for 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
getApiDoc
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/apiDoc \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/users/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/users/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/users/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/users/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/users/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/apiDoc", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return API definition document
GET https://api.devbank.apiture.com/users/apiDoc
Return the OpenAPI document that describes this API.
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: Inline |
Response Schema
getLabels
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/labels \
-H 'Accept: application/hal+json' \
-H 'Accept-Language: string' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/users/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/users/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/users/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/users/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/users/labels', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/labels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Localized Labels
GET https://api.devbank.apiture.com/users/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
Parameter | Description |
---|---|
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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: labelGroups |
Users
Endpoints to manage users
getUsers
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/users/users 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/users/users',
{
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/users/users',
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/users/users',
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/users/users', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users");
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/users/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of users
GET https://api.devbank.apiture.com/users/users
Use this operation to retrieve a paginated, sortable, filterable, searchable collection of users. An authenticated user will have access only to their own User resource. The links in the response include collection pagination links. Each resource in the _embedded.items
array is a summary representation of a user; use the getUser
operation on the summary's self
link to get the full representation of the user and all available links.
Parameters
Parameter | Description |
---|---|
start in: query | integer(int64) The zero-based index of the first user in this page. The default, 0, represents the first page of the collection. format: int64 default: 0 |
limit in: query | integer(int32) The maximum number of user representations to return in this page. format: int32 default: 100 |
sortBy in: query | string Optional sort criteria, such as ?sortBy=field1,-field2 . See sort criteria format.This collection may be sorted by the following properties: • state • occupation • createdAt • username • firstName • middleName • lastName • preferredName • birthdate • lastContactedAt • lastLoggedInAt . |
filter in: query | string Optional filter criteria. See filtering. This collection may be filtered by the following properties and functions: • Property state using functions eq , ne , in • Property occupation using functions eq , ne , in • Property createdAt using functions lt , le , gt , ge • Property customerId using functions eq • Property lastLoggedInAt using functions lt , le , gt , ge • Property lastContactedAt using functions lt , le , gt , ge • Property _id using functions eq , in • Property username using functions eq , in . |
q in: query | string Optional search string. See searching. |
state in: query | string Subset the users collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=pending matches only items whose state is pending ; ?state=removed|inactive matches items whose state is removed or inactive . This is combined with an implicit and with other filters if they are used. See filtering.enum values: locked , frozen , active , inactive , removed |
customerId in: query | string Subset the users collection to those whose customerId matches this value. This is combined with an implicit and with other filters if they are used. See filtering. |
occupation in: query | string Subset the users collection to those with this name value. Use | to separate multiple values. For example, ?occupation=officeAndAdministrativeSupport will match only items whose occupation is officeAndAdministrativeSupport; ?occupation=officeAndAdministrativeSupport|transportationAndMaterialMoving will match items whose occupation is officeAndAdministrativeSupport or transportationAndMaterialMoving. This is combined with an implicit and with other filters if they are used. See filtering. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/users/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users?start=0&limit=10"
},
"first": {
"href": "https://api.devbank.apiture.com/users?start=10&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/users?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/users"
}
},
"start": 0,
"limit": 10,
"count": 2,
"name": "users",
"_embedded": {
"items": [
{
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"_profile": "https://production.api.apiture.com/schemas/users/summaryUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"username": "Johnny1733",
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"preferredName": "John",
"identification": [
{
"value": "********3333",
"type": "taxId"
}
],
"customerId": 47294723672,
"emailAddresses": [
{
"_id": "pe0",
"type": "personal",
"value": "johnny1733@example.com"
},
{
"_id": "we0",
"type": "work",
"value": "support@apiture.com"
}
],
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "home",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": "fourOrMore",
"lastContactedAt": "2018-07-29T11:13:54Z",
"lastLoggedInAt": "2017-12-29T15:19:41Z",
"state": "active",
"createdAt": "2018-03-09T20:14:32Z"
},
{
"_id": "d1fabf13-31d1-4351-89ad-877ac4d1220a",
"_profile": "https://production.api.apiture.com/schemas/users/summaryUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
}
},
"username": "LAS15",
"firstName": "Laura",
"middleName": "Eileen",
"lastName": "Smith",
"preferredName": "Laura",
"identification": [
{
"value": "********3333",
"type": "taxId"
}
],
"emailAddresses": [
{
"_id": "pe0",
"type": "personal",
"value": "johnny1733@example.com"
},
{
"_id": "we0",
"type": "work",
"value": "support@apiture.com"
}
],
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "home",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": "fourOrMore",
"lastContactedAt": "2018-07-29T11:13:54Z",
"lastLoggedInAt": "2017-12-29T15:19:41Z",
"state": "active",
"createdAt": "2018-07-29T11:13:54Z"
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: users |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createUser
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/users \
-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/users/users 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/users/createUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "wa1",
"type": "work",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/wa1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=wa1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=wa1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "112-22-3333"
}
],
"preferredContactMethod": "email",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"yearsAtAddress": "fourOrMore",
"taxAddressId": "ha1",
"preferences": {
"smsNotifications": true
}
}';
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/users/users',
{
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/users/users',
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/users/users',
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/users/users', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users");
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/users/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new user
POST https://api.devbank.apiture.com/users/users
Create a new user resource. Only the system or administrators may create user resources. The user is created by the system when a new customer registers with on-line banking.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/createUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "wa1",
"type": "work",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/wa1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=wa1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=wa1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "112-22-3333"
}
],
"preferredContactMethod": "email",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"yearsAtAddress": "fourOrMore",
"taxAddressId": "ha1",
"preferences": {
"smsNotifications": true
}
}
Parameters
Parameter | Description |
---|---|
body | createUser (required) The data necessary to create a new user. |
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: user | |
202 | Accepted |
Accepted. | |
Schema: user | |
Header | Location 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 schema ://host . | |
Header | ETag 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. |
searchUsers
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/userSearch \
-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/users/userSearch 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/users/userTextSearch/v1.1.0/profile.json",
"_links": {},
"text": [
"{encrypted-version-of-text-3333}",
"{encrypted-version-of-text-Ackerman}"
],
"_encryption": {
"taxId": "sensitive-4fj4idl"
}
}';
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/users/userSearch',
{
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/users/userSearch',
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/users/userSearch',
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/users/userSearch', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/userSearch");
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/users/userSearch", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Find users by text search strings
POST https://api.devbank.apiture.com/users/userSearch
An operator may use this operation to search digital banking users by one or more text values that match one or more searchable properties of a user.
The searchable fields include:
firstName
lastName
username
addresses[].streetAddress1
addresses[].streetAddress2
addresses[].city
emailAddresses[].value
phones[].number
identification[].value
(for example, government tax ID)
For example, passing two values [ "3333", "Ackerman" ]
will match a user whose first or last name is "Ackerman"
, a user with a phone number "+19105553333"
, a user with a street address "3333 N. Elm St."
, or a user with a government identification number "112223333"
.
All field comparisons are case insensitive substring containment. Searching for "acker"
will match a user with lastName
of "Ackerman"
or a username "packerfan"
or an email address "hacker127@blackhats.example.com"
.
Since the search strings likely contain personally identifiable information such as a user's tax ID, the strings in the request must be encrypted using a sensitive
encryption key. Use getEncryptionKeys
to get the encryption key.
This operation uses a "GET
over POST
" pattern so that personally sensitive information (the user's tax identification number) are transmitted securely in the request body and not in the request URL as query parameters. Like a GET
, this operation is idempotent and safe.
This operation is only allowed for trusted services or administrators.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/userTextSearch/v1.1.0/profile.json",
"_links": {},
"text": [
"{encrypted-version-of-text-3333}",
"{encrypted-version-of-text-Ackerman}"
],
"_encryption": {
"taxId": "sensitive-4fj4idl"
}
}
Parameters
Parameter | Description |
---|---|
body | userTextSearch (required) |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/users/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users?start=0&limit=10"
},
"first": {
"href": "https://api.devbank.apiture.com/users?start=10&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/users?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/users"
}
},
"start": 0,
"limit": 10,
"count": 2,
"name": "users",
"_embedded": {
"items": [
{
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"_profile": "https://production.api.apiture.com/schemas/users/summaryUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"username": "Johnny1733",
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"preferredName": "John",
"identification": [
{
"value": "********3333",
"type": "taxId"
}
],
"customerId": 47294723672,
"emailAddresses": [
{
"_id": "pe0",
"type": "personal",
"value": "johnny1733@example.com"
},
{
"_id": "we0",
"type": "work",
"value": "support@apiture.com"
}
],
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "home",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": "fourOrMore",
"lastContactedAt": "2018-07-29T11:13:54Z",
"lastLoggedInAt": "2017-12-29T15:19:41Z",
"state": "active",
"createdAt": "2018-03-09T20:14:32Z"
},
{
"_id": "d1fabf13-31d1-4351-89ad-877ac4d1220a",
"_profile": "https://production.api.apiture.com/schemas/users/summaryUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
}
},
"username": "LAS15",
"firstName": "Laura",
"middleName": "Eileen",
"lastName": "Smith",
"preferredName": "Laura",
"identification": [
{
"value": "********3333",
"type": "taxId"
}
],
"emailAddresses": [
{
"_id": "pe0",
"type": "personal",
"value": "johnny1733@example.com"
},
{
"_id": "we0",
"type": "work",
"value": "support@apiture.com"
}
],
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "home",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": "fourOrMore",
"lastContactedAt": "2018-07-29T11:13:54Z",
"lastLoggedInAt": "2017-12-29T15:19:41Z",
"state": "active",
"createdAt": "2018-07-29T11:13:54Z"
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. Each resource in the _embedded.items array is a summary representation of a user whose data matches at least one of the strings in the request; use the getUser operation on the summary's self link to get the full representation of the user and all available links. If no users match, the response has an empty (but not null ) _embedded.items array. | |
Schema: users |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
lookupUsers
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/userLookup \
-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/users/userLookup 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/users/userSearch/v2.1.1/profile.json",
"_links": {},
"taxId": "{encrypted-version-of-users-aaa-bb-cccc-taxId}",
"_encryption": {
"taxId": "secret-48729783"
}
}';
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/users/userLookup',
{
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/users/userLookup',
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/users/userLookup',
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/users/userLookup', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/userLookup");
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/users/userLookup", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Find existing registered user
POST https://api.devbank.apiture.com/users/userLookup
deprecated
Use this operation to determine if a user is already registered. Each resource in the _embedded.items
array is a summary representation of a user; use the getUser
operation on the summary's self
link to get the full representation of the user and all available links. If no users match, the response has an empty (but not null
) _embedded.items
array.
This operation uses a "GET
over POST
" pattern so that personally sensitive information (the user's tax identification number) is transmitted securely in the request body and not in the request URL as query parameters. Like a GET
, this operation is idempotent and safe.
This operation is only allowed for trusted services or administrators.
Warning: The operation lookupUsers
was deprecated on version v0.38.0
of the API. Use searchForCustomer
operation in Registrations API instead. lookupUsers
will be removed on version v0.41.0
of the API.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/userSearch/v2.1.1/profile.json",
"_links": {},
"taxId": "{encrypted-version-of-users-aaa-bb-cccc-taxId}",
"_encryption": {
"taxId": "secret-48729783"
}
}
Parameters
Parameter | Description |
---|---|
| userSearch (required) deprecated: true |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/users/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users?start=0&limit=10"
},
"first": {
"href": "https://api.devbank.apiture.com/users?start=10&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/users?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/users"
}
},
"start": 0,
"limit": 10,
"count": 2,
"name": "users",
"_embedded": {
"items": [
{
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"_profile": "https://production.api.apiture.com/schemas/users/summaryUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"username": "Johnny1733",
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"preferredName": "John",
"identification": [
{
"value": "********3333",
"type": "taxId"
}
],
"customerId": 47294723672,
"emailAddresses": [
{
"_id": "pe0",
"type": "personal",
"value": "johnny1733@example.com"
},
{
"_id": "we0",
"type": "work",
"value": "support@apiture.com"
}
],
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "home",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": "fourOrMore",
"lastContactedAt": "2018-07-29T11:13:54Z",
"lastLoggedInAt": "2017-12-29T15:19:41Z",
"state": "active",
"createdAt": "2018-03-09T20:14:32Z"
},
{
"_id": "d1fabf13-31d1-4351-89ad-877ac4d1220a",
"_profile": "https://production.api.apiture.com/schemas/users/summaryUser/v1.9.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=d1fabf13-31d1-4351-89ad-877ac4d1220a"
}
},
"username": "LAS15",
"firstName": "Laura",
"middleName": "Eileen",
"lastName": "Smith",
"preferredName": "Laura",
"identification": [
{
"value": "********3333",
"type": "taxId"
}
],
"emailAddresses": [
{
"_id": "pe0",
"type": "personal",
"value": "johnny1733@example.com"
},
{
"_id": "we0",
"type": "work",
"value": "support@apiture.com"
}
],
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "home",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": "fourOrMore",
"lastContactedAt": "2018-07-29T11:13:54Z",
"lastLoggedInAt": "2017-12-29T15:19:41Z",
"state": "active",
"createdAt": "2018-07-29T11:13:54Z"
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: users |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
getUser
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId} \
-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/users/users/{userId} 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/users/users/{userId}',
{
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/users/users/{userId}',
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/users/users/{userId}',
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/users/users/{userId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}");
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/users/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this user
GET https://api.devbank.apiture.com/users/users/{userId}
Return a HAL representation of this user resource.
This representation will contain links related to the current user
as defined in the user
schema.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
fields in: query | array[string] Return only the named fields (a comma-separated list of property names) in the response body. For example, with ?fields=customerId,username , the response includes only customerId , username , _id and _profile (the latter two are always included.) This option does not allow specifying nested fields.unique items minItems: 1 comma-delimited items: string » maxLength: 32 » pattern: "^[a-z_][a-zA-Z0-9]{3,31}$" |
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/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
updateUser
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/users/{userId} \
-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/users/users/{userId} 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/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}';
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/users/users/{userId}',
{
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/users/users/{userId}',
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/users/users/{userId}',
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/users/users/{userId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}");
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/users/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this user
PUT https://api.devbank.apiture.com/users/users/{userId}
Perform a complete replacement of this user.
Note that the user's addresses
, emailAddresses
and phoneNumbers
are immutable; see the User addresses, phone numbers, and email addresses section in the API description. The user's userVerificationFields
is also immutable.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
body | user (required) A User resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
patchUser
Code samples
# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/users/users/{userId} \
-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/users/users/{userId} 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/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}';
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/users/users/{userId}',
{
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/users/users/{userId}',
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/users/users/{userId}',
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/users/users/{userId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}");
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/users/users/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this user
PATCH https://api.devbank.apiture.com/users/users/{userId}
Perform a partial update of this user. Fields which are omitted are not updated.
Note that the user's addresses
, emailAddresses
and phoneNumbers
are immutable; see the User addresses, phone numbers, and email addresses section in the API description. The user's userVerificationFields
is also immutable.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
body | user (required) A User resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
getUserConstraints
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/constraints \
-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/users/users/{userId}/constraints 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/users/users/{userId}/constraints',
{
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/users/users/{userId}/constraints',
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/users/users/{userId}/constraints',
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/users/users/{userId}/constraints', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/constraints");
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/users/users/{userId}/constraints", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this user's constraints
GET https://api.devbank.apiture.com/users/users/{userId}/constraints
Return a HAL representation of this user's constraints resource. Constraints are limits and other values established for the user, such as single or daily transfer limits.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. 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/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: constraints | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
updateUserConstraints
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/users/{userId}/constraints \
-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/users/users/{userId}/constraints 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/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}';
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/users/users/{userId}/constraints',
{
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/users/users/{userId}/constraints',
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/users/users/{userId}/constraints',
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/users/users/{userId}/constraints', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/constraints");
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/users/users/{userId}/constraints", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this user's constraints
PUT https://api.devbank.apiture.com/users/users/{userId}/constraints
Perform a complete replacement of this user's constraints. This operation is performed by an admin. A user cannot change their own limits.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
body | constraints (required) The user's banking constraints. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: constraints | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
patchUserConstraints
Code samples
# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/users/users/{userId}/constraints \
-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/users/users/{userId}/constraints 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/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}';
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/users/users/{userId}/constraints',
{
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/users/users/{userId}/constraints',
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/users/users/{userId}/constraints',
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/users/users/{userId}/constraints', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/constraints");
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/users/users/{userId}/constraints", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this user's constraints
PATCH https://api.devbank.apiture.com/users/users/{userId}/constraints
Perform a partial update of this user's constraints, a user should not be able to change their own limits. Fields which are omitted are not updated.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
body | constraints (required) The user's banking constraints. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/constraints/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/cfb9529d-fc2a-4309-9e41-2ae5d84517f4/constraints"
}
},
"transfers": {
"singleCreditLimit": "20000.00",
"singleDebitLimit": "20000.00",
"dailyCreditLimit": "500000.00",
"dailyDebitLimit": "500000.00"
},
"checkDeposits": {
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
},
"_error": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: constraints | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
addUserTrackingIds
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/users/{userId}/trackingIds \
-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/users/users/{userId}/trackingIds 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/common/createResourceTrackingIds/v1.1.1/profile.json",
"_links": {},
"trackingIds": [
"2dd86cdb-2a50-4079-a246-6486135a0ca2"
]
}';
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/users/users/{userId}/trackingIds',
{
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/users/users/{userId}/trackingIds',
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/users/users/{userId}/trackingIds',
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/users/users/{userId}/trackingIds', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/trackingIds");
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/users/users/{userId}/trackingIds", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Add tracking IDs to a user
POST https://api.devbank.apiture.com/users/users/{userId}/trackingIds
Add one or more tracking IDs to a user. Clients can add tracking IDs to associate a user with a promotion, campaign, or some other business process. Duplicate tracking IDs (within the input or already on this user) are ignored.
If adding new IDs would exceed the maximum of 150 per user, this operation removes the oldest tracking ID(s) to make room for the new ones.
The caller must have entitlements to update the user.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/common/createResourceTrackingIds/v1.1.1/profile.json",
"_links": {},
"trackingIds": [
"2dd86cdb-2a50-4079-a246-6486135a0ca2"
]
}
Parameters
Parameter | Description |
---|---|
body | createResourceTrackingIds |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/resourceTrackingIds/v1.1.3/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId/trackingIds"
},
"apiture:resource": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"trackingIds": [
{
"id": "476824ec-7f8a-4909-bad7-b05ee26aba0f",
"createdAt": "2021-06-07T09:11:02.375Z"
},
{
"id": "55c9141a-94d5-4ae8-b664-9ac4c9eaea2d",
"createdAt": "2021-07-011T15:33:00.375Z"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: resourceTrackingIds | |
Header | ETag string |
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for future GET operations which update this user resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
getUserTrackingIds
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/trackingIds \
-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/users/users/{userId}/trackingIds 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/users/users/{userId}/trackingIds',
{
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/users/users/{userId}/trackingIds',
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/users/users/{userId}/trackingIds',
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/users/users/{userId}/trackingIds', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/trackingIds");
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/users/users/{userId}/trackingIds", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch the user's tracking IDs
GET https://api.devbank.apiture.com/users/users/{userId}/trackingIds
Return a HAL representation of the list of tracking IDs that have been added to this user via addUserTrackingIds
. The response includes an empty array if there are no tracking IDs. The IDs in the response are sorted chronologically from earliest to latest.
The caller must have entitlements to read the user resource in order to read tracking IDs.
Parameters
Parameter | Description |
---|---|
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. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/resourceTrackingIds/v1.1.3/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId/trackingIds"
},
"apiture:resource": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"trackingIds": [
{
"id": "476824ec-7f8a-4909-bad7-b05ee26aba0f",
"createdAt": "2021-06-07T09:11:02.375Z"
},
{
"id": "55c9141a-94d5-4ae8-b664-9ac4c9eaea2d",
"createdAt": "2021-07-011T15:33:00.375Z"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: resourceTrackingIds | |
Header | ETag string |
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for future GET operations which update this user resource. |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such user resource at the specified This error response may have one of the following | |
Schema: errorResponse |
User Actions
Actions on users
removeUser
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/removedUsers \
-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/users/removedUsers 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/users/removedUsers',
{
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/users/removedUsers',
method: 'post',
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/users/removedUsers',
params: {
}, 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/users/removedUsers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/removedUsers");
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/users/removedUsers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Remove a user
POST https://api.devbank.apiture.com/users/removedUsers
Remove a user from active use.
This operation is invoked from the apiture:remove
link on a user
resource when that user is eligible to be removed.
This changes the state
to removed
.
Parameters
Parameter | Description |
---|---|
user in: query | string The ID or URI of an existing user which is eligible to be removed. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The user was malformed or does not refer to a user. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
activateUser
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/activeUsers \
-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/users/activeUsers 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/users/activeUsers',
{
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/users/activeUsers',
method: 'post',
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/users/activeUsers',
params: {
}, 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/users/activeUsers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/activeUsers");
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/users/activeUsers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Activate a user
POST https://api.devbank.apiture.com/users/activeUsers
Activate a user from an inactive state.
This operation is invoked from the apiture:activate
link on a user
resource when that user is eligible to be activated.
This operation will fail if the user is frozen or locked unless an FI
admin is invoking the operation.
This changes the state
to active
.
Parameters
Parameter | Description |
---|---|
user in: query | string The ID or URI of an existing user which is eligible to be removed. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The user was malformed or does not refer to a user. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
deactivateUser
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/inactiveUsers \
-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/users/inactiveUsers 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/users/inactiveUsers',
{
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/users/inactiveUsers',
method: 'post',
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/users/inactiveUsers',
params: {
}, 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/users/inactiveUsers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/inactiveUsers");
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/users/inactiveUsers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Deactivate a user
POST https://api.devbank.apiture.com/users/inactiveUsers
Deactivate a user from an active state.
This operation is invoked from the apiture:deactivate
link on a user
resource when that user is eligible to be deactivated.
This changes the state
to inactive
.
Parameters
Parameter | Description |
---|---|
user in: query | string The ID or URI of an existing user which is eligible to be removed. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The user was malformed or does not refer to a user. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
lockUser
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/lockedUsers \
-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/users/lockedUsers 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/users/lockedUsers',
{
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/users/lockedUsers',
method: 'post',
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/users/lockedUsers',
params: {
}, 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/users/lockedUsers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/lockedUsers");
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/users/lockedUsers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Lock a user
POST https://api.devbank.apiture.com/users/lockedUsers
Lock a user from an active or inactive state.
This operation is invoked from the apiture:lock
link on a user
resource when that user is eligible to be lock.
This changes the state
to locked
.
Parameters
Parameter | Description |
---|---|
user in: query | string The ID or URI of an existing user which is eligible to be removed. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The user was malformed or does not refer to a user. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
freezeUser
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/frozenUsers \
-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/users/frozenUsers 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/users/frozenUsers',
{
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/users/frozenUsers',
method: 'post',
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/users/frozenUsers',
params: {
}, 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/users/frozenUsers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/frozenUsers");
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/users/frozenUsers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Freeze a user
POST https://api.devbank.apiture.com/users/frozenUsers
Freeze a user from an active, inactive or locked state. A state of frozen indicates that an admin has a concern of fraud.
This operation is invoked from the apiture:freeze
link on a user
resource when an admin user has suspicion of fraud. Only admin has
access to freeze a user.
This changes the state
to frozen
.
Parameters
Parameter | Description |
---|---|
user in: query | string The ID or URI of an existing user which is eligible to be frozen. |
If-Match in: header | string The entity tag that was returned in the ETag response. If used, this must match the current entity tag of the resource. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The user was malformed or does not refer to a user. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Addresses
User's Mailing Addresses
getAddresses
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/addresses \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/users/users/{userId}/addresses 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/users/users/{userId}/addresses',
{
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/users/users/{userId}/addresses',
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/users/users/{userId}/addresses',
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/users/users/{userId}/addresses', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/addresses");
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/users/users/{userId}/addresses", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Get user's addresses
GET https://api.devbank.apiture.com/users/users/{userId}/addresses
Return the list of the user's addresses.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/userAddresses/v1.2.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses"
}
},
"items": [
{
"_id": "ha1",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
},
{
"_id": "wa1",
"type": "work",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "pending",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/wa1"
}
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: userAddresses |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createAddress
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/users/{userId}/addresses \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/users/users/{userId}/addresses HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const inputBody = '{
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"_id": "ha1",
"type": "home",
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=pe1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=pe1"
}
},
"state": "approved"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/addresses',
{
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',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/addresses',
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',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/users/users/{userId}/addresses',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/users/users/{userId}/addresses', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/addresses");
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"},
"Apiture-Challenge": []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/users/users/{userId}/addresses", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new address
POST https://api.devbank.apiture.com/users/users/{userId}/addresses
Add an address to the list of the user's addresses.
The new address will be pending
until the financial institution has
reviewed and approved it, after which it will become approved
.
Note the possible conflict errors listed in the 409 response.
This operation may require the user to complete an additional
authentication challenge as described in Multi-factor
authentication challenges above. A valid
Apiture-Challenge
request header may be required
if the ?replaceId
parameter is used and the profile item being
replaced is the preferred mailing address or the user's tax address.
See Multi-factor authentication challenges above.
Body parameter
{
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"_id": "ha1",
"type": "home",
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=pe1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=pe1"
}
},
"state": "approved"
}
Parameters
Parameter | Description |
---|---|
replaceId in: query | string An optional _id of an existing address to be replaced with this new address instead of adding a new address, once it has been approved. If replaceId matches the _id of the preferred mailing address or the tax address the preferredMailingAddressId or taxAddressId is updated to the value of replaceId once approved (the Apiture-Challenge header may be required also). If no existing address matches replaceId , the new address is added to the list of addresses. Example: ?replaceId=ha1 . |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
body | userAddress (required) The data necessary to create a new address. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
201 Response
{
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"_id": "ha1",
"type": "home",
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=pe1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=pe1"
}
},
"state": "approved"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: userAddress | |
Header | Location 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 | |
Header | ETag 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. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
409 | Conflict |
Conflict. Cannot create the request address or replace the indicate address due to financial institution address constraints. This error response may have one of the following | |
Schema: challengeErrorResponse |
getAddress
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId} \
-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/users/users/{userId}/addresses/{addressId} 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/users/users/{userId}/addresses/{addressId}',
{
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/users/users/{userId}/addresses/{addressId}',
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/users/users/{userId}/addresses/{addressId}',
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/users/users/{userId}/addresses/{addressId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId}");
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/users/users/{userId}/addresses/{addressId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this address
GET https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId}
Return a HAL representation of this address resource.
Parameters
Parameter | Description |
---|---|
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. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
addressId in: path | string (required) The unique identifier of this address. This is an opaque string. |
Example responses
200 Response
{
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"_id": "ha1",
"type": "home",
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=pe1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=pe1"
}
},
"state": "approved"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: userAddress | |
Header | ETag 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 address resource. |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such address resource at the specified {addressId} . The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
deleteAddress
Code samples
# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId} 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/users/users/{userId}/addresses/{addressId}',
{
method: 'DELETE',
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/users/users/{userId}/addresses/{addressId}',
method: 'delete',
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.delete 'https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId}");
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{
"Accept": []string{"application/hal+json"},
"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/users/users/{userId}/addresses/{addressId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this address resource
DELETE https://api.devbank.apiture.com/users/users/{userId}/addresses/{addressId}
Delete this address. The address can only be deleted if it is not the user's tax address. If deleting the preferred mailing address, the tax address becomes the preferred mailing address. This operation is only valid if the delete
link exists in the address' _links
.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
addressId in: path | string (required) The unique identifier of this address. This is an opaque string. |
Example responses
409 Response
{
"_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": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected address cannot be deleted because it is currently the user's preferred address. This error response may have one of the following | |
Schema: errorResponse |
setPreferredAddress
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/users/{userId}/preferredAddress?value=string \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.devbank.apiture.com/users/users/{userId}/preferredAddress?value=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/preferredAddress?value=string',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/preferredAddress',
method: 'put',
data: '?value=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.devbank.apiture.com/users/users/{userId}/preferredAddress',
params: {
'value' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.devbank.apiture.com/users/users/{userId}/preferredAddress', params={
'value': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/preferredAddress?value=string");
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{
"Accept": []string{"application/hal+json"},
"Apiture-Challenge": []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/users/users/{userId}/preferredAddress", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Set Preferred Mailing Address
PUT https://api.devbank.apiture.com/users/users/{userId}/preferredAddress
Set the user's preferred mailing address.
The user may set their preferred address
to an approved address by passing its
unique _id
in the value
query parameter.
This updates the preferredMailingAddressId
property of the user.
This operation may require the user to complete an additional
authentication challenge as described in Multi-factor
authentication challenges above. A valid
Apiture-Challenge
request header may be required.
This operation is available via the apiture:setAsPreferred
link on an address if that resource is eligible
to be set as the preferred address.
No changes are made if the specified address is already the preferred address.
Parameters
Parameter | Description |
---|---|
value in: query | string (required) The _id of the address to assign as the preferred address. Example: ?value=ha1 .minLength: 1 maxLength: 8 pattern: "^[-a-zA-Z0-9_]{1,8}$" |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The user's preferredMailingAddressId is updated to the passed value. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected profile value cannot be set as the preferred because it is still This error response may have one of the following | |
Schema: challengeErrorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request to set a preferred profile value cannot be processed because no such profile value value exists, or the passed challenge does not exist. This error response may have one of the following | |
Schema: errorResponse |
setTaxAddress
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/users/{userId}/taxAddress?value=string \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.devbank.apiture.com/users/users/{userId}/taxAddress?value=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/taxAddress?value=string',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/taxAddress',
method: 'put',
data: '?value=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.devbank.apiture.com/users/users/{userId}/taxAddress',
params: {
'value' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.devbank.apiture.com/users/users/{userId}/taxAddress', params={
'value': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/taxAddress?value=string");
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{
"Accept": []string{"application/hal+json"},
"Apiture-Challenge": []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/users/users/{userId}/taxAddress", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Set Tax Address
PUT https://api.devbank.apiture.com/users/users/{userId}/taxAddress
Set the user's tax address. The user may set their tax address to an approved address by passing its
unique _id
in the value
query parameter. This updates the taxAddressId
property of the user.
This operation may require the user to complete an additional authentication challenge as described in
Multi-factor authentication challenges above. A valid Apiture-Challenge
request header may be
required.
This operation is available via the apiture:setAsTaxAddress
link on an approved address resources that are
eligible to be set as the tax address. Some financial
institutions do not allow a P.O. Box to be assigned as the tax address (the address must be a physical
address). If so, the link is omitted on P.O. Box addresses.
No changes are made if the specified address is already the tax address.
Parameters
Parameter | Description |
---|---|
value in: query | string (required) The _id of the address to assign as the tax address. Example: ?value=ha1 .minLength: 1 maxLength: 8 pattern: "^[-a-zA-Z0-9_]{1,8}$" |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The user's taxAddressId is updated to the passed value. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected profile value cannot be set as the preferred because it is still This error response may have one of the following | |
Schema: challengeErrorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request to set a preferred profile value cannot be processed because no such profile value value exists, or the passed challenge does not exist. This error response may have one of the following | |
Schema: errorResponse |
Email Addresses
User's Email Addresses
getEmailAddresses
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/emailAddresses \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/users/users/{userId}/emailAddresses 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/users/users/{userId}/emailAddresses',
{
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/users/users/{userId}/emailAddresses',
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/users/users/{userId}/emailAddresses',
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/users/users/{userId}/emailAddresses', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/emailAddresses");
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/users/users/{userId}/emailAddresses", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Get user's email addresses
GET https://api.devbank.apiture.com/users/users/{userId}/emailAddresses
Return the list of the user's email addresses.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddresses/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses"
}
},
"items": [
{
"_id": "pe0",
"type": "personal",
"label": "Personal",
"value": "user7838@example.com",
"state": "approved",
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddress/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe0"
}
}
},
{
"_id": "pe2",
"type": "personal",
"label": "Personal",
"value": "John.Smith@example.com",
"state": "approved",
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddress/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/userEmailAddresses/pe2"
}
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: userEmailAddresses |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createEmailAddress
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/users/{userId}/emailAddresses \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/users/users/{userId}/emailAddresses HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddress/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddress?value=pe1"
}
},
"_id": "pe1",
"type": "personal",
"value": "user7838@example.com",
"state": "approved"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/emailAddresses',
{
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',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/emailAddresses',
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',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/users/users/{userId}/emailAddresses',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/users/users/{userId}/emailAddresses', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/emailAddresses");
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"},
"Apiture-Challenge": []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/users/users/{userId}/emailAddresses", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new email address
POST https://api.devbank.apiture.com/users/users/{userId}/emailAddresses
Add an email address to the list of the user's email addresses. The new email address will be pending
until the financial institution has reviewed and approved it, after which it will become approved
.
This operation may require the user to complete an additional authentication challenge as described in Multi-factor authentication challenges above. A valid Apiture-Challenge
request header may be required if the ?replaceId
parameter is used and the profile item being replaced is the preferred email address. See Multi-factor authentication challenges above.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddress/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddress?value=pe1"
}
},
"_id": "pe1",
"type": "personal",
"value": "user7838@example.com",
"state": "approved"
}
Parameters
Parameter | Description |
---|---|
replaceId in: query | string An optional _id of an existing email address to be replaced with this new email address instead of adding a new email address, once it has been approved. If replaceId matches the _id of the preferred email address the preferredEmailAddressId will also be updated to the value of replaceId once approved (the Apiture-Challenge header may be required also). If no existing email address matches replaceId , the new email address is added to the list of email addresses. Example: ?replaceId=e1 . |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
body | userEmailAddress (required) The data necessary to create a new email address. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddress/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddress?value=pe1"
}
},
"_id": "pe1",
"type": "personal",
"value": "user7838@example.com",
"state": "approved"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: userEmailAddress | |
Header | Location 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 | |
Header | ETag 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. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected profile value cannot be set as the preferred because it is still This error response may have one of the following | |
Schema: challengeErrorResponse |
getEmailAddress
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId} \
-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/users/users/{userId}/emailAddresses/{emailAddressId} 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/users/users/{userId}/emailAddresses/{emailAddressId}',
{
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/users/users/{userId}/emailAddresses/{emailAddressId}',
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/users/users/{userId}/emailAddresses/{emailAddressId}',
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/users/users/{userId}/emailAddresses/{emailAddressId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId}");
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/users/users/{userId}/emailAddresses/{emailAddressId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this email address
GET https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId}
Return a HAL representation of this email address resource.
Parameters
Parameter | Description |
---|---|
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. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
emailAddressId in: path | string (required) The unique identifier of this email address. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/userEmailAddress/v1.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"delete": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddress?value=pe1"
}
},
"_id": "pe1",
"type": "personal",
"value": "user7838@example.com",
"state": "approved"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: userEmailAddress | |
Header | ETag 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 email address resource. |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such email address resource at the specified {emailAddressId} . The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
deleteEmailAddress
Code samples
# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId} 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/users/users/{userId}/emailAddresses/{emailAddressId}',
{
method: 'DELETE',
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/users/users/{userId}/emailAddresses/{emailAddressId}',
method: 'delete',
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.delete 'https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId}");
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{
"Accept": []string{"application/hal+json"},
"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/users/users/{userId}/emailAddresses/{emailAddressId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this email address resource
DELETE https://api.devbank.apiture.com/users/users/{userId}/emailAddresses/{emailAddressId}
Delete this email address. The email address can only be deleted if it is not the user's preferred email address.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
emailAddressId in: path | string (required) The unique identifier of this email address. This is an opaque string. |
Example responses
409 Response
{
"_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": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected email address cannot be deleted because it is currently the user's preferred email address. | |
Schema: errorResponse |
setPreferredEmailAddress
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress?value=string \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress?value=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress?value=string',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress',
method: 'put',
data: '?value=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress',
params: {
'value' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress', params={
'value': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress?value=string");
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{
"Accept": []string{"application/hal+json"},
"Apiture-Challenge": []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/users/users/{userId}/preferredEmailAddress", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Set Preferred Email Address
PUT https://api.devbank.apiture.com/users/users/{userId}/preferredEmailAddress
Set the user's preferred email address.
The user may set their preferred email address
to an approved address by passing its
unique _id
in the value
query parameter.
This updates the preferredEmailAddressId
property of the user.
This operation may require the user to complete an additional
authentication challenge as described in Multi-factor
authentication challenges above. A valid
Apiture-Challenge
request header may be required.
This operation is available via the apiture:setAsPreferred
link on an email address if that resource is eligible
to be set as the preferred email address.
No changes are made if the specified email address is already the preferred email address.
Parameters
Parameter | Description |
---|---|
value in: query | string (required) The _id of the email address to assign as the preferred email address. Example: ?value=pe0 .minLength: 1 maxLength: 8 pattern: "^[-a-zA-Z0-9_]{1,8}$" |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The user's preferredEmailAddressId is updated to the passed value. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected profile value cannot be set as the preferred because it is still This error response may have one of the following | |
Schema: challengeErrorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request to set a preferred profile value cannot be processed because no such profile value value exists, or the passed challenge does not exist. This error response may have one of the following | |
Schema: errorResponse |
Phone Numbers
User's Phone Numbers
getPhoneNumbers
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers 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/users/users/{userId}/phoneNumbers',
{
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/users/users/{userId}/phoneNumbers',
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/users/users/{userId}/phoneNumbers',
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/users/users/{userId}/phoneNumbers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers");
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/users/users/{userId}/phoneNumbers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Get user's phone numbers
GET https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers
Return the list of the user's phone numbers.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumbers/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers"
}
},
"items": [
{
"_id": "mp0",
"type": "mobile",
"label": "Mobile",
"number": "+19105550155",
"state": "approved",
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/mp0"
}
}
},
{
"_id": "mp2",
"type": "home",
"label": "Home",
"number": "+19105551044",
"state": "approved",
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/mp2"
}
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: userPhoneNumbers |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createPhoneNumber
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const inputBody = '{
"_id": "hp1",
"type": "home",
"number": "+19105550155",
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1"
}
},
"state": "approved"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers',
{
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',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers',
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',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers");
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"},
"Apiture-Challenge": []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/users/users/{userId}/phoneNumbers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new phone number
POST https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers
Add a phone number to the list of the user's phone numbers.
The new number will be pending
until the financial institution has
reviewed and approved it, after which it will become approved
.
This operation may require the user to complete an additional
authentication challenge as described in Multi-factor
authentication challenges above. A valid
Apiture-Challenge
request header may be required
if the ?replaceId
parameter is used and the profile item being
replaced is the preferred phone number.
See Multi-factor authentication challenges above.
Body parameter
{
"_id": "hp1",
"type": "home",
"number": "+19105550155",
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1"
}
},
"state": "approved"
}
Parameters
Parameter | Description |
---|---|
replaceId in: query | string An optional _id of an existing phone number to be replaced with this new phone number instead of adding a new phone number, once it has been approved. If replaceId matches the _id of the preferred phone number the preferredPhoneNumberId will also be updated to the value of replaceId once approved (the Apiture-Challenge header may be required also). If no existing phone number matches replaceId , the new phone number is added to the list of phone numbers. Example: ?replaceId=p1 . |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
body | userPhoneNumber (required) The data necessary to create a new phone number. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
201 Response
{
"_id": "hp1",
"type": "home",
"number": "+19105550155",
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1"
}
},
"state": "approved"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: userPhoneNumber | |
Header | Location 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 | |
Header | ETag 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. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected profile value cannot be set as the preferred because it is still This error response may have one of the following | |
Schema: challengeErrorResponse |
getPhoneNumber
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId} \
-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/users/users/{userId}/phoneNumbers/{phoneNumberId} 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/users/users/{userId}/phoneNumbers/{phoneNumberId}',
{
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/users/users/{userId}/phoneNumbers/{phoneNumberId}',
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/users/users/{userId}/phoneNumbers/{phoneNumberId}',
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/users/users/{userId}/phoneNumbers/{phoneNumberId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId}");
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/users/users/{userId}/phoneNumbers/{phoneNumberId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this phone number
GET https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId}
Return a HAL representation of this phone number resource.
Parameters
Parameter | Description |
---|---|
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. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
phoneNumberId in: path | string (required) The unique identifier of this phone number. This is an opaque string. |
Example responses
200 Response
{
"_id": "hp1",
"type": "home",
"number": "+19105550155",
"_profile": "https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.2.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1"
}
},
"state": "approved"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: userPhoneNumber | |
Header | ETag 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 phone number resource. |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such phone number resource at the specified {phoneNumberId} . The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
deletePhoneNumber
Code samples
# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId} 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/users/users/{userId}/phoneNumbers/{phoneNumberId}',
{
method: 'DELETE',
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/users/users/{userId}/phoneNumbers/{phoneNumberId}',
method: 'delete',
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.delete 'https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId}");
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{
"Accept": []string{"application/hal+json"},
"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/users/users/{userId}/phoneNumbers/{phoneNumberId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this phone number resource
DELETE https://api.devbank.apiture.com/users/users/{userId}/phoneNumbers/{phoneNumberId}
Delete this phone number. The number can only be deleted if it is not the user's preferred phone number.
Parameters
Parameter | Description |
---|---|
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
phoneNumberId in: path | string (required) The unique identifier of this phone number. This is an opaque string. |
Example responses
409 Response
{
"_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": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected phone number cannot be deleted because it is currently the user's preferred phone number. | |
Schema: errorResponse |
setPreferredPhoneNumber
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber?value=string \
-H 'Accept: application/hal+json' \
-H 'Apiture-Challenge: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber?value=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Apiture-Challenge: string
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber?value=string',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/hal+json',
'Apiture-Challenge':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber',
method: 'put',
data: '?value=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'Apiture-Challenge' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber',
params: {
'value' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'Apiture-Challenge': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber', params={
'value': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber?value=string");
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{
"Accept": []string{"application/hal+json"},
"Apiture-Challenge": []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/users/users/{userId}/preferredPhoneNumber", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Set Preferred Phone Number
PUT https://api.devbank.apiture.com/users/users/{userId}/preferredPhoneNumber
Set the user's preferred phone number.
The user may set their preferred phone number
to an approved number by passing its
unique _id
in the value
query parameter.
This updates the preferredPhoneNumberId
property of the user.
This operation may require the user to complete an additional
authentication challenge as described in Multi-factor
authentication challenges above. A valid
Apiture-Challenge
request header may be required.
This operation is available via the apiture:setAsPreferred
link on an phone number if that resource is eligible
to be set as the preferred phone number.
No changes are made if the specified phone number is already the preferred phone number.
Parameters
Parameter | Description |
---|---|
value in: query | string (required) The _id of the number to assign as the preferred phone number. Example: ?value=pe0 .minLength: 1 maxLength: 8 pattern: "^[-a-zA-Z0-9_]{1,8}$" |
Apiture-Challenge in: header | string The unique identifier of a Challenge resource which demonstrates the user has recently verified their identity. See the discussion of Multi-factor authentication challenges above. The value must be the _id string of a valid, redeemable Challenge resource which matches the challenge context. |
userId in: path | string (required) The unique identifier of the user. This is an opaque string. |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/user/v1.12.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:deactivate": {
"href": "https://api.devbank.apiture.com/users/inactiveUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:lock": {
"href": "https://api.devbank.apiture.com/users/lockedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:freeze": {
"href": "https://api.devbank.apiture.com/users/frozenUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
},
"apiture:remove": {
"href": "https://api.devbank.apiture.com/users/removedUsers?user=9604e5f8-da29-4197-b6fb-60a1cfecfba8"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"addresses": [
{
"_id": "ha0",
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha0"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha0"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha0"
}
}
},
{
"_id": "ha1",
"type": "residential",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US",
"state": "approved",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1"
},
"apiture:setAsPreferred": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredAddress?value=ha1"
},
"apiture:setAsTaxAddress": {
"href": "https://api.devbank.apiture.com/users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/taxAddress?value=ha1"
}
}
}
],
"preferredMailingAddressId": "ha0",
"emailAddresses": [
{
"id": "pe0",
"value": "johnny1733@example.com",
"type": "personal",
"_id": "pe0"
},
{
"id": "wp1",
"value": "support@apiture.com",
"type": "work",
"_id": "we0"
}
],
"preferredEmailAddressId": "pe0",
"phones": [
{
"_id": "hp0",
"type": "home",
"number": "+19105550155"
},
{
"_id": "mp0",
"type": "mobile",
"number": "+19105550159"
},
{
"_id": "wp1",
"type": "work",
"number": "+19105550162",
"extension": "4512"
}
],
"preferredPhoneId": "hp0",
"preferredName": "John",
"suffix": "MD",
"identification": [
{
"type": "taxId",
"value": "********3333"
}
],
"preferredContactMethod": "email",
"_id": "9604e5f8-da29-4197-b6fb-60a1cfecfba8",
"username": "Johnny1733",
"residencyStatus": "resident",
"customerId": 47294723672,
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"state": "citizen"
}
],
"occupation": "officeAndAdministrativeSupport",
"taxAddressId": "ha1",
"yearsAtAddress": "fourOrMore",
"state": "active",
"attributes": {},
"preferences": {
"smsNotifications": true
},
"kycAnswers": {
"citizen": true,
"permanentResident": false,
"w9Withholdings": false,
"employmentStatus": "string",
"foreignPoliticalFigure": false,
"familyOfPoliticalFigure": false,
"employerName": "Salt-T-Dog",
"employerAddress": {
"addressLine1": "555 N Front Street",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
"employerPhoneNumber": "+19105550155",
"positionTitle": "Invoice Specialist II",
"bankingPurpose": "other",
"otherBankingPurpose": "rental escrow account",
"internationalTransfers": true,
"internationalTransferCountries": "Great Britain, France, Germany, Spain, Mexico",
"identificationType": "driversLicense",
"identificationNumber": "A123-456-789-123",
"identificationCountry": "US",
"identificationIssuer": "MN",
"identificationIssuedOn": "2020-07-10",
"identificationExpiresOn": "2026-07-10"
},
"coreBanking": {
"finxact": {
"customerGroup": "--64964c9c8e8f----2d-5e-",
"partyPersonId": "--4WS6l0g7D4u-----5F-Bg-"
},
"ensenta": {
"accountHolderNumber": "bBN5rPpMZbPY6qxhT"
}
},
"createdAt": "2018-03-09T20:14:32Z",
"lastLoggedInAt": "2019-07-09T10:24:00Z",
"lastContactedAt": "2019-07-16T06:00:00Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The user's preferredPhoneNumberId is updated to the passed value. | |
Schema: user | |
Header | ETag 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 user resource. |
Status | Description |
---|---|
409 | Conflict |
Conflict. The selected profile value cannot be set as the preferred because it is still This error response may have one of the following | |
Schema: challengeErrorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request to set a preferred profile value cannot be processed because no such profile value value exists, or the passed challenge does not exist. This error response may have one of the following | |
Schema: errorResponse |
Encryption
Data Encryption
getEncryptionKeys
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/encryptionKeys?keys=string \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/users/encryptionKeys?keys=string 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/users/encryptionKeys?keys=string',
{
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/users/encryptionKeys',
method: 'get',
data: '?keys=string',
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/users/encryptionKeys',
params: {
'keys' => 'array[string]'
}, 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/users/encryptionKeys', params={
'keys': [
"string"
]
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/encryptionKeys?keys=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"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/users/encryptionKeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Get client-side encryption keys
GET https://api.devbank.apiture.com/users/encryptionKeys
Get encryption keys that the client should use to encrypt sensitive data such as personally identifiable information (PII) and passwords. This adds security on top of transport layer security (TLS/HTTPS) so that sensitive data is not represented as plain text in request bodies. Clients should encrypt properties that have a x-apiture-encrypt: {keyName}
annotation in the schema. The client adds metadata in an _encryption
object next to the encrypted properties in the request body.
Parameters
Parameter | Description |
---|---|
keys in: query | array[string] (required) A list of encryption key names necessary to encrypt one or more properties in a request body. For example, if the request body schema contains two fields that are tagged x-apiture-encrypt: secret , use ?keys=secret . If the schema contain two fields, one encrypted with password and one with the key named pii , use ?keys=secret,pii .minLength: 1 comma-delimited items: string |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/encryptionKeys/v1.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"keys": {
"pii": {
"name": "sensitive",
"publicKey": "-----BEGIN RSA PUBLIC KEY-----\\nMIIBCgKCAQEAwh8kIf3rM4FtehDl+WM1egDdxccXFLNPBUvgpbAISnEh373M4vdN...\\n-----END RSA PUBLIC KEY-----",
"alias": "sensitive-47839398",
"createdAt": "2020-03-09T05:01:16.375Z",
"expiresAt": "2020-03-09T05:01:53.375Z"
},
"secret": {
"name": "secret",
"publicKey": "-----BEGIN RSA PUBLIC KEY-----\\nMIIBCgKCAQEAl2/fCtf69EnMqw6O/6Wh9wFvKW80jjNfXEWbHh0cnWKW1i0Heg0B...\\n-----END RSA PUBLIC KEY-----",
"alias": "secret-48729783",
"createdAt": "2020-03-09T05:01:16.375Z",
"expiresAt": "2020-03-09T05:01:53.375Z"
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: encryptionKeys |
Third Party Consent
Manage consent for third parties to access the user's banking data.
createOpenBankingConsentParameters
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/users/openBankingConsentParameters \
-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/users/openBankingConsentParameters 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/users/createOpenBankingConsentParameters/v1.0.4/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"integration": "fdx",
"parameters": []
}';
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/users/openBankingConsentParameters',
{
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/users/openBankingConsentParameters',
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/users/openBankingConsentParameters',
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/users/openBankingConsentParameters', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/openBankingConsentParameters");
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/users/openBankingConsentParameters", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Generate open banking consent parameters
POST https://api.devbank.apiture.com/users/openBankingConsentParameters
Generate parameters, such as an embedded web component URI, through which the user can view, update, or revoke their consent for third party applications to access their banking data through open banking integrations such as Financial Data Exchange (FDX).
The client should invoke this operation for each integration that is enabled in the configuration for the financial institution. For example, if the public configuration group openBanking
(in the Configurations API) has fdxEnabled
set to true
, the client should call this operation with a request body containing the value "integration": "fdx"
to get the initialization parameters for the consent user experience component, then instantiate that UI component for the user.
Note: This operation must always be invoked with a user access token.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/users/createOpenBankingConsentParameters/v1.0.4/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"integration": "fdx",
"parameters": []
}
Parameters
Parameter | Description |
---|---|
body | createOpenBankingConsentParameters Optional data that is needed to curate the provider parameters |
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/users/openBankingConsentParameters/v1.0.3/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"integration": "fdx",
"parameters": [
{
"name": "widgetUrl",
"value": "https://fdx-consent.example.com/connections/9537b6d4462142afae3f02dd5e19895e"
}
]
}
Responses
Status | Description |
---|---|
201 | Created |
Created. The response contains the parameters to integrate with the account verification provider components. | |
Schema: openBankingConsentParameters |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The parameters are not well-formed. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The This error response may have one of the following | |
Schema: errorResponse |
Configuration
Users Service Configuration
getConfigurationGroups
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/configurations/groups \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/users/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/users/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/users/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/users/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/users/configurations/groups', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: configurationGroups |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
getConfigurationGroup
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/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/users/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/users/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/users/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/users/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/users/configurations/groups/{groupName}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/configurations/groups/{groupName}
Return a HAL representation of this configuration group resource.
Parameters
Parameter | Description |
---|---|
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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: configurationGroup | |
Header | ETag 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. |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
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/users/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/users/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/users/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/users/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/users/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/users/configurations/groups/{groupName}/schema', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/configurations/groups/{groupName}/schema
Return a HAL representation of this configuration group schema resource.
Parameters
Parameter | Description |
---|---|
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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: configurationSchema | |
Header | ETag string |
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
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/users/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/users/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/users/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/users/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/users/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/users/configurations/groups/{groupName}/values', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/configurations/groups/{groupName}/values
Return a representation of this configuration group values resource.
Parameters
Parameter | Description |
---|---|
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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: configurationValues | |
Header | ETag string |
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
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/users/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/users/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/users/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/users/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/users/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/users/configurations/groups/{groupName}/values', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/configurations/groups/{groupName}/values
Perform a complete replacement of this set of values.
Body parameter
{
"dailyLimit": 5,
"cutoffTime": 63000
}
Parameters
Parameter | Description |
---|---|
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 used, 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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: configurationSchema | |
Header | ETag string |
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
403 | Forbidden |
Access denied. Only administrators may update configuration. | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
Schema: errorResponse |
getConfigurationGroupValue
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/users/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/users/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/users/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/users/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/users/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/users/configurations/groups/{groupName}/values/{valueName}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/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, usePUT /users/configurations/groups/{groupName}/values/{valueName}
(operationupdateConfigurationGroupValue
).
Parameters
Parameter | Description |
---|---|
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
Status | Description |
---|---|
200 | OK |
OK. The value of the named configuration value as a JSON string, number, boolean, array, or object. | |
Schema: string | |
Header | ETag 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. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is either no such configuration group resource at the specified This error response may have one of the following | |
Schema: errorResponse |
updateConfigurationGroupValue
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/users/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/users/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/users/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/users/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/users/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/users/configurations/groups/{groupName}/values/{valueName}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/users/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/users/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/users/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, useGET /users/configurations/groups/{groupName}/values/{valueName}
(operationgetConfigurationGroupValue
).
Body parameter
"string"
Parameters
Parameter | Description |
---|---|
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 used, 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
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: string | |
Header | ETag 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. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
403 | Forbidden |
Access denied. Only administrators may update configuration. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is either no such configuration group resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied This error response may have one of the following | |
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
Name | Description |
---|---|
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 |
_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 |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | 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
Name | Description |
---|---|
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 |
_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 |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
address
{
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US",
"_id": "ha5",
"type": "home"
}
Address (v1.1.2)
A postal address with the address type and an identifier.
This schema was resolved from contacts/address
.
Properties
Name | Description |
---|---|
Address (v1.1.2) | A postal address with the address type and an identifier. This schema was resolved from |
addressLine1 | The first street address line of the address, normally a house number and street name. format: address-text minLength: 4 maxLength: 128 |
addressLine2 | The optional second street address line of the address. format: address-text maxLength: 128 |
city | The name of the city or municipality. format: address-text minLength: 2 maxLength: 128 |
regionCode | The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase. minLength: 2 maxLength: 2 pattern: "^[a-zA-Z]{2}$" |
postalCode | The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code. minLength: 5 maxLength: 10 pattern: "^[0-9]{5}(?:-[0-9]{4})?$" |
countryCode | The ISO 3166-1 alpha-2 country code. This is normalized to uppercase. minLength: 2 maxLength: 2 pattern: "^[a-zA-Z]{2}$" |
type | (required) The type of this address. enum values: unknown , home , prior , work , school , mailing , vacation , shipping , billing , headquarters , commercial , site , property , other , notApplicable |
label | A text label, suitable for presentation to the end user. This is derived from type or from otherType if type is other read-only format: text minLength: 4 maxLength: 32 |
otherType | The actual address type if type is other .format: text minLength: 4 maxLength: 32 |
_id | An identifier for this address, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all addresses within the addresses array.minLength: 1 maxLength: 8 pattern: "^[-a-zA-Z0-9_]{1,8}$" |
addressType
"unknown"
Address Type (v1.0.0)
The type of a postal address.
Warning: The enum
list will be removed in a future release.
The allowed values for this property are defined at runtime in the label group named addressType
in the response from the getLabels
operation.
This schema was resolved from contacts/addressType
.
type:
string
enum values: unknown
, home
, prior
, work
, school
, mailing
, vacation
, shipping
, billing
, headquarters
, commercial
, site
, property
, other
, notApplicable
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
Name | Description |
---|---|
Attributes (v2.1.0) | An optional map of name/value pairs which contains additional dynamic data about the resource. This schema was resolved from |
authenticator
{
"_profile": "https://production.api.apiture.com/schemas/auth/authenticator/v1.2.1/profile.json",
"_links": {
"self": {
"href": "/auth/challenges/2e61e506-1568-4f1a-a93e-4d0a48a06d0e/authenticators/7fadd35b-6f6b-4901-b1ba-d3b91c9dcee3"
},
"apiture:challenge": {
"href": "/auth/challenges/challenges/b59438cd-5efb-4915-916b-0600bb2a4e1e"
},
"apiture:retry": {
"href": "/auth/challenges/retriedAuthenticators?authenticator=7fadd35b-6f6b-4901-b1ba-d3b91c9dcee3"
},
"apiture:verify": {
"href": "/auth/challenges/verifiedAuthenticators"
}
},
"_id": "7fadd35b-6f6b-4901-b1ba-d3b91c9dcee3",
"userId": "b2720469-3497-4b82-8b85-30f2155aa66d",
"state": "started",
"maskedTarget": "****1234",
"type": {
"name": "sms",
"label": "SMS Code",
"description": "Enter a code sent via SMS to the user's preferred mobile device.",
"category": "device",
"schema": {
"title": "SMS attributes",
"description": "Schema for an authenticator's `attributes` when the authenticator type is `sms`.",
"type": "object",
"required": [
"code",
"length"
],
"properties": {
"code": {
"type": "string",
"description": "A code that was sent to the user's mobile device via SMS. The user should enter the code in the app, then set `attributes.code` to that. The length of the code (the number of characters or digits) must equal the `length'.",
"minLength": 3,
"maxLength": 10
},
"length": {
"description": "The number of digits/characters that are sent to the user via SMS.",
"type": "integer",
"minimum": 3,
"maximum": 10,
"example": 6
}
}
}
},
"maximumRetries": 3,
"retryCount": 1,
"createdAt": "2019-08-23T12:42:50.375Z",
"expiresAt": "2019-08-23T13:12:50.375Z"
}
Authenticator (v1.2.1)
Representation of authenticators which verify a user's identity.
Links
Response and request bodies using this authenticator
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
apiture:retry | Retry an authenticator | POST |
apiture:start | Start an authenticator | POST |
apiture:verify | Verify a user's identity | POST |
apiture:challenge | Fetch a representation of this challenge | GET |
This schema was resolved from auth/authenticator
.
Properties
Name | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Authenticator (v1.2.1) | Representation of authenticators which verify a user's identity. LinksResponse and request bodies using this
This schema was resolved from | |||||||||||||||
_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 | |||||||||||||||
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. | |||||||||||||||
_profile | The URI of a resource profile which describes the representation. read-only format: uri | |||||||||||||||
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only | |||||||||||||||
type | The type of this authenticator. This must be one of the items in the /authenticatorTypes resource. | |||||||||||||||
maximumRetries | The maximum number of times the user may retry this authenticator. If 0 , the user must authenticate correctly on the first try. When an authenticator is retried, the client should POST to the apiture:retry link on the authenticators; absence of the link means the user cannot retry the authenticator. The default is 3 .minimum: 0 maximum: 10 | |||||||||||||||
_id | The unique identifier for this authenticator resource. This is an immutable opaque string assigned upon creation. read-only | |||||||||||||||
userId | The user ID of the user who is requested to verify their identity. | |||||||||||||||
state | The state of this authenticator. This is derived and read-only. read-only enum values: pending , started , verified , failed , expired | |||||||||||||||
maskedTarget | A masked value which helps identify the specific authenticator target, such as a masked mobile phone or a masked email address. | |||||||||||||||
retryCount | The actual number of times a user has retried this authenticator. read-only minimum: 0 maximum: 10 | |||||||||||||||
attributes | Data collected from the user that is used to verify this authenticator. This data conforms to the schema defined in the type . For example, for sms , the attributes must contains a code . | |||||||||||||||
createdAt | The time stamp when authenticator was created, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | |||||||||||||||
verifiedAt | The time stamp when authenticator was verified in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | |||||||||||||||
failedAt | The time stamp when the user failed to verify their identity verification (authentication) for this challenge, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | |||||||||||||||
expiresAt | The time stamp when the this challenge expires, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time |
authenticatorCategory
"knowledge"
authenticatorCategory (v1.0.0)
Categories which help classify and organize different authenticator types:
knowledge
- Something you know, such as a password or answers to personal questions.biometric
- Something you are, such as facial recognition or fingerprints.device
- Something you have, such as a mobile phone (for confirmation via a code sent via text message) or an electronic key.
authenticatorCategory
strings may have one of the following enumerated values:
Value | Description |
---|---|
knowledge | Knowledge: Authenticate with information the user knows, such as a password or answers to personal questions. |
biometric | Biometric: Authenticate with physical characteristics of the user, such as fingerprints, voiceprint, or faceprint. |
device | Device: Authenticate with a device that the user has, such as a mobile phone or an electronic key. |
These enumeration values are further described by the label group named authenticatorCategory
in the response from the getLabels
operation.
This schema was resolved from auth/authenticatorCategory
.
type:
string
enum values: knowledge
, biometric
, device
authenticatorState
"pending"
Authenticator State (v1.0.0)
The state of a challenge authenticator resource.
- The
startAuthenticator
operation (linkapiture:start
) changes the state frompending
tostarted
. - The
retryAuthenticator
operation (linkapiture:retry
) changes the state tostarted
and is only allowed if the authenticator has more retries available. - The
verifyAuthenticator
operation (linkapiture:verify
) validates theattributes
and changes the state toverified
if valid or tofailed
if invalid.
authenticatorState
strings may have one of the following enumerated values:
Value | Description |
---|---|
pending | Pending: The authenticator is created but not yet started. |
started | Started: The user has started the authenticator. |
verified | Verified: The user corresponding verified the authenticator. |
failed | Failed: The user failed the authenticators criteria. |
expired | Expired: The authenticator expired before the user completed the criteria. |
These enumeration values are further described by the label group named authenticatorState
in the response from the getLabels
operation.
This schema was resolved from auth/authenticatorState
.
type:
string
enum values: pending
, started
, verified
, failed
, expired
authenticatorType
{
"name": "sms",
"label": "SMS code",
"description": "Enter a code sent via SMS to the user's preferred mobile device.",
"category": "device",
"schema": {
"title": "SMS attributes",
"description": "Schema for an authenticator's `attributes` when the authenticator type is `sms`.",
"type": "object",
"required": [
"code",
"length"
],
"properties": {
"code": {
"type": "string",
"description": "A code that was sent to the user's mobile device via SMS. The user should enter the code in the app, then set `attributes.code` to that. The length of the code (the number of characters or digits) must equal the `length'.",
"minLength": 3,
"maxLength": 10
},
"length": {
"description": "The number of digits/characters that are sent to the user via SMS.",
"type": "integer",
"minimum": 3,
"maximum": 10,
"example": 6
}
}
}
}
Authenticator Type (v1.0.0)
An authenticator type description.
This schema was resolved from auth/authenticatorType
.
Properties
Name | Description |
---|---|
Authenticator Type (v1.0.0) | An authenticator type description. This schema was resolved from |
name | The name of this authenticator; also the key in the authenticatorTypes object. |
label | A localized label or title which may be used labels or other UI controls which present a value. |
description | A more detailed localized description of an authenticator type. |
language | The actual natural language tag to which this authentication type description is associated, as per RFC 7231. If omitted, this serves as the default. |
category | The authentication category. enum values: knowledge , biometric , device |
schema | The JSON schema which describe the attributes object for all authenticators of this type. For example, for sms , the schema defines a required code string. |
challenge
{
"_profile": "https://production.api.apiture.com/schemas/auth/challenge/v1.2.1/profile.json",
"_links": {
"self": {
"href": "/auth/challenges/5d63053d-435c-4455-a0b5-6f88ab729d1a"
},
"apiture:redeem": {
"href": "/auth/redeemedChallenges?challenge=5d63053d-435c-4455-a0b5-6f88ab729d1a"
}
},
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"reason": "Transfer amount much higher than normal",
"contextUri": "https://fi.apiture.com/transfers/scheduledTransfers/50b9df19-d6bf-4ac0-b5f4-3e6448b7dacd",
"minimumAuthenticatorCount": 1,
"authenticators": [
{
"_id": "7fadd35b-6f6b-4901-b1ba-d3b91c9dcee3",
"_profile": "https://production.api.apiture.com/schemas/auth/authenticator/v1.2.1/profile.json",
"userId": "b2720469-3497-4b82-8b85-30f2155aa66d",
"state": "started",
"type": {
"name": "sms",
"label": "SMS Code",
"description": "Enter a code sent via SMS to the user's preferred mobile device.",
"category": "device",
"schema": {
"title": "SMS attributes",
"description": "Schema for an authenticator's `attributes` when the authenticator type is `sms`.",
"type": "object",
"required": [
"code",
"length"
],
"properties": {
"code": {
"type": "string",
"description": "A code that was sent to the user's mobile device via SMS. The user should enter the code in the app, then set `attributes.code` to that. The length of the code (the number of characters or digits) must equal the `length'.",
"minLength": 3,
"maxLength": 10
},
"length": {
"description": "The number of digits/characters that are sent to the user via SMS.",
"type": "integer",
"minimum": 3,
"maximum": 10,
"example": 6
}
}
}
},
"maximumRetries": 3,
"retryCount": 1,
"createdAt": "2019-08-23T12:42:50.375Z",
"expiresAt": "2019-08-23T13:12:50.375Z",
"_links": {
"self": {
"href": "/auth/challenges/0399abed-fd3d-4830-a88b-30f38b8a365c/authenticators/7fadd35b-6f6b-4901-b1ba-d3b91c9dcee3"
},
"apiture:challenge": {
"href": "/auth/challenges/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:retry": {
"href": "/auth/challenges/retriedAuthenticators?authenticator=7fadd35b-6f6b-4901-b1ba-d3b91c9dcee3"
},
"apiture:verify": {
"href": "/auth/challenges/verifiedAuthenticators"
}
}
}
],
"maximumRedemptionCount": 1,
"redemptionCount": 0,
"state": "pending",
"createdAt": "2019-08-23T11:37:55.375Z",
"expiresAt": "2019-08-23T12:37:55.375Z"
}
Challenge (v1.2.1)
A resource which represents an identity verification challenge to a user. The user must verify one or more of the authentication methods defined in this challenge in order to proceed with a banking operation (such as scheduling a larger than normal transfer, adding a joint owner or authorized signer to an account, or changing their mailing address or mobile phone number).
Links
Response and request bodies using this challenge
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
apiture:redeem | Redeem or use a challenge | POST |
This schema was resolved from auth/challenge
.
Properties
Name | Description | ||||||
---|---|---|---|---|---|---|---|
Challenge (v1.2.1) | A resource which represents an identity verification challenge to a user. The user must verify one or more of the authentication methods defined in this challenge in order to proceed with a banking operation (such as scheduling a larger than normal transfer, adding a joint owner or authorized signer to an account, or changing their mailing address or mobile phone number). LinksResponse and request bodies using this
This schema was resolved from | ||||||
_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 | ||||||
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||
_profile | The URI of a resource profile which describes the representation. read-only format: uri | ||||||
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only | ||||||
reason | The reason the application or service has issued a challenge requesting the user verify their identity. This is for labeling or informational purposes. | ||||||
contextUri | The URI of a resource that establishes the context in which the user is asked to authenticate their identity. For example, for this may be for a pending transfer, a user's mailing address, or an account if adding a joint owner. format: uri maxLength: 2048 | ||||||
userId | The user ID of the user who is requested to verify their identity. The default is the userID of the authenticated person creating the challenge. | ||||||
minimumAuthenticatorCount | The minimum number of different authenticators the user must verify in order to satisfy the identity challenge. The default is 1. minimum: 0 maximum: 4 | ||||||
maximumRedemptionCount | The maximum number of times the challenge may be used or redeemed. The default is 1. minimum: 1 | ||||||
_id | The unique identifier for this challenge resource. This is an immutable opaque string assigned upon creation. read-only | ||||||
redemptionCount | How many times the challenge has been redeemed. read-only | ||||||
state | The state of this authenticator. read-only enum values: pending , started , verified , failed , redeemed , expired | ||||||
createdAt | The time stamp when challenge was created, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | ||||||
authenticators | array: An array of authenticators with which the user can verify their identity. This is derived; the array and the authenticators are constructed in the createChallenge operation.read-only items: object | ||||||
redeemable | true if and only if the challenge may be redeemed. This is derived from the states of the challenge's authenticators; if the number of verified authenticators meets or exceeds the minimumAuthenticatorCount , the challenge becomes verified and may be redeemed via a POST to href in the challenge's apiture:redeem link.read-only | ||||||
verifiedAt | The time stamp when challenge was verified in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | ||||||
failedAt | The time stamp when the user failed to verify their identity verification (authentication) for this challenge, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | ||||||
expiresAt | The time stamp when the this challenge expires, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).read-only format: date-time | ||||||
redemptionHistory | array: [ The time stamps when a service or operation redeemed this challenge, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ). Item 0 is the time stamp the challenge was first redeemed, item 1 is the time stamp of the next redemption, and so on.read-only items: string(date-time) » read-only » format: date-time | ||||||
code | An optional authentication code which is only returned in the challenge resource if both a) the platform assigned the code when constructing the challenge), and b) the user has successfully verified the challenge. The client must re-fetch the verified challenge in order to access this property.read-only minLength: 16 maxLength: 128 |
challengeError
{
"_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"
}
}
}
Challenge Error (v1.2.1)
The operation error description with an embedded identity challenge.
This schema was resolved from auth/challengeError
.
Properties
Name | Description |
---|---|
Challenge Error (v1.2.1) | The operation error description with an embedded identity challenge. This schema was resolved from |
message | (required) A localized message string describing the error condition. |
_id | 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 | The HTTP status code associate with this error. minimum: 100 maximum: 599 |
type | 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 | An RFC 3339 UTC time stamp indicating when the error occurred. format: date-time |
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 | An optional localized string which provides hints for how the user or client can resolve the error. |
errors | array: An optional array of nested error objects. This property is not always present. items: object |
_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 |
_embedded | Embedded objects |
» challenge | The details of the identity verification challenge. |
challengeErrorResponse
{
"_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": []
}
}
}
Challenge Error Response (v1.2.1)
When an operation requires an additional identity verification challenge, it returns a 401 Unauthorized response status code and an error response with a challenge resource embedded in the _error._embedded.challenge
. This informs the caller that they should verify the challenge via one or more of its authenticators
, then retry the operation with the Apiture-Challenge
header that references the challenge's _id
.
This schema was resolved from auth/challengeErrorResponse
.
Properties
Name | Description |
---|---|
Challenge Error Response (v1.2.1) | When an operation requires an additional identity verification challenge, it returns a 401 Unauthorized response status code and an error response with a challenge resource embedded in the _error._embedded.challenge . This informs the caller that they should verify the challenge via one or more of its authenticators , then retry the operation with the Apiture-Challenge header that references the challenge's _id . This schema was resolved from |
_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 |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | The description of the error. |
challengeState
"pending"
Challenge States (v1.0.0)
The state of an identity challenge resource. This is derived based on the state of the challenge's authenticators.
challengeState
strings may have one of the following enumerated values:
Value | Description |
---|---|
pending | Pending: The challenge is created but not yet started. |
started | Started: The user has started the challenge and associated authenticator(s). |
verified | Verified: The user correctly verified the corresponding authenticator(s), marking the challenge as verified. |
failed | Failed: The challenge has failed, often because the user failed one or more of the authenticators. |
redeemed | Redeemed: The user has redeemed (used) the challenge. |
expired | Expired: The challenge has expired without being verified. |
These enumeration values are further described by the label group named challengeState
in the response from the getLabels
operation.
This schema was resolved from auth/challengeState
.
type:
string
enum values: pending
, started
, verified
, failed
, redeemed
, expired
checkDepositConstraints
{
"enabled": true,
"monthlyTotalAmountLimit": "30000.00",
"monthlyTotalChecksLimit": 200,
"segmentationTier": "low"
}
User's constraints for check deposits (v1.1.1)
Representation used to describe the limits for check deposits.
Properties
Name | Description |
---|---|
User's constraints for check deposits (v1.1.1) | Representation used to describe the limits for check deposits. |
enabled | Indicates that the check deposit feature is enabled for the user. |
monthlyTotalAmountLimit | The string representation of the limit on the total amount of a check deposit per calendar month for a related user. The default is “50000.00”, although the default may be configurable by the financial institution. The numeric value is represented as a string so that it can be represented exactly with no loss of precision. pattern: "^(0|[1-9][0-9]*)\\.[0-9][0-9]$" |
monthlyTotalChecksLimit | The string representation of the limit on the total number of a check per calendar month for a related user. The default is 1000, although the default may be configurable by the financial institution. minimum: 0 |
segmentationTier | Identifies the check deposit provider's policy tier for this user. The financial institution can use the tiers to define different limits and risk factors, then assign individual end users to one of the tiers. New users are assigned to the low tier. This property is only visible or settable to administrative users.default: "low" |
checkDepositSegmentationTier
"medium"
Check Deposit Segmentation Tier (v1.0.0)
Identifies the check deposit provider's policy tier for this user. The financial institution can use the tiers to define different limits and risk factors, then assign individual end users to one of the tiers. Not all check deposit providers use segmentation tiers.
The allowed values for this property are defined at runtime in the label group named checkDepositSegmentationTier
in the response from the getLabels
operation.
type:
string
citizenship
{
"countryCode": "US",
"state": "citizen"
}
Citizenship (v1.1.0)
Citizenship or nationality status.
This schema was resolved from contacts/citizenship
.
Properties
Name | Description |
---|---|
Citizenship (v1.1.0) | Citizenship or nationality status. This schema was resolved from |
countryCode | (required) The ISO 3166-1 country code for the individual's citizenship. This is normalized to uppercase. minLength: 2 maxLength: 2 pattern: "^[a-zA-Z]{2}$" |
state | (required) The individual's citizenship status. enum values: citizen , other |
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
Name | Description |
---|---|
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 |
_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 |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
count | 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 | The start index of this page of items. |
limit | The maximum number of items per page. |
name | 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
Name | Description |
---|---|
Configuration Group (v2.1.1) | Represents a configuration group. This schema was resolved from |
_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 |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
name | 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 | The text label for this resource, suitable for presentation to the client. minLength: 1 maxLength: 128 |
description | The full description for this resource, suitable for presentation to the client. minLength: 1 maxLength: 4096 |
schema | 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 The This schema was resolved from |
values | 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 For example, multiple configurations may use the same schema that defines values This schema was resolved from |
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
Name | Description |
---|---|
Configuration Group Summary (v2.1.1) | A summary of the data contained within a configuration group resource. This schema was resolved from |
_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 |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
name | 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 | The text label for this resource, suitable for presentation to the client. minLength: 1 maxLength: 128 |
description | 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
Name | Description |
---|---|
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 |
_links | An optional map of links, mapping each link relation to a link object. Th |