Admin Analytic Filters v0.4.2

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

Filters which support data analysis of banking data by financial institution analysis by allowing analysts to work with subsets of data according to boolean conditions and combinations of those boolean conditions.

A Filter Type defines a class of filters, with the following fields:

  • The filter type's name; this specifies the data source(s) the filter type applies to; the data is called a measure.
  • The operators allowed with that filter type
  • A schema for the data values the analyst may use with the filter type: the data type of the measure and any constraints for specifying a filter, such as minimum and maximum values, or a fixed list of choices to use.

For example, to analyze data for customers in the age range 35 to 49 years of age, an analyst may use the customerAge filter type. That filter type defines a set of operators such as lessThan, greaterThan, equals, between, etc. The dataType for the customerAge filter is integer, meaning the comparable data values in the measure are integer (whole) numbers. The filter type's constraints may define a minimum and maximum value for reasonable queries, for example the minimum value for the customerAge filter type may be 2 and the maximum value may be 130. (The financial institution may set alter the constraints on each filter type.)

A filter instance (or just filter) consists of a specific filter type (by name and ID), a operator from that filter type's list of allowed operators, and optional values to compare against the measurements named by the filter type. This sample filter mentioned above uses the operator between and the constants 35 and 49.

Subsetting customers by one or more filters is also referred to as customer segmentation, although filters may apply to other data measures, such as account or transaction measures.

Simple binary filters compare the measure to a single value, such as

  • Customer type is "retail"
  • Customer age less than 25
  • Account balance greater than $100,000

Range or "between" filters use two data values, such as

  • Customer age is between 35 and 49
  • Average balance is between 10,000 and 50,000

Ranges are inclusive of the endpoints.

Set inclusion filters are defined with two or more multiple values, for example

  • Customer primary address state in the set "NC", "SC", "GA", "FL"
  • Customer zip code in a list of 15 target zip codes z1, z2, z3, z4, z5, z6, z7, z8.

All constant values used in filter types and filters are encoded as strings, including numbers such as "100", currency values such as "125.50" (U.S. dollars), boolean values such as "true", and dates such as "2023-05-01".

Operators are drawn from the following list:

  • relational operators: equals, notEquals, lessThan, lessThanOrEqualTo, greaterThan, greaterThanOrEqualTo. (If the measure represents a data, the relational operators are before and after).
  • range comparison operation: between, notBetween
  • set inclusion: in, notIn.
  • date values: before, after (dates are inclusive of the given filter constant values).

This API provides an operation to list analytic filter types and an operation get an analytic filter type`.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

License: Apiture API License

Authentication

  • OpenID Connect authentication (accessToken)
    • OpenId Connect (OIDC) authentication/authorization. The client uses the authorization_endpoint and token_endpoint to obtain an access token to pass in the Authorization header. Those endpoints are available via the OIDC Configuration URL. The actual URL may vary with each financial institution. See details at Secure Access.
    • OIDC Configuration URL = https://auth.apiture.com/oidc/.well-known/openid-configuration

Analytic Filter Types

Banking Admin Analytic Filters

listAnalyticFilterTypes

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/bankingAdmin/analyticFilterTypes \
  -H 'Accept: application/json' \
  -H 'Accept-Language: string' \
  -H 'If-None-Match: string' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/bankingAdmin/analyticFilterTypes HTTP/1.1
Host: api.apiture.com
Accept: application/json
Accept-Language: string
If-None-Match: string

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

const headers = {
  'Accept':'application/json',
  'Accept-Language':'string',
  'If-None-Match':'string',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/bankingAdmin/analyticFilterTypes',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Accept-Language':'string',
  'If-None-Match':'string',
  'Authorization':'Bearer {access-token}'

};

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

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Accept-Language' => 'string',
  'If-None-Match' => 'string',
  'Authorization' => 'Bearer {access-token}'
}

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

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Accept-Language': 'string',
  'If-None-Match': 'string',
  'Authorization': 'Bearer {access-token}'
}

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/bankingAdmin/analyticFilterTypes");
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"},
        "Accept-Language": []string{"string"},
        "If-None-Match": []string{"string"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Return a collection of analytic filter types

GET https://api.apiture.com/bankingAdmin/analyticFilterTypes

Return a list of analytic filter types definitions supported by the financial institution. If the Accept-Language header is passed, the returned label values will match the requested language, if available. If no localized labels are available the US English labels are returned.

Parameters

ParameterDescription
state
in: query
analyticFilterTypeState
Return only filter types whose state matches this value.
enum values: active, inactive
Accept-Language
in: header
string(text)
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231. If no localized data is available that matches the requested language tag, the default US English data is returned.
format: text
maxLength: 128
If-None-Match
in: header
string
The entity tag that was returned in the ETag response header of a previous call. If the resource's current entity tag value matches this header value, the GET will return 304 (Not Modified) and no response body, else the current resource representation and updated ETag is returned.
maxLength: 512
pattern: "^\\P{Cc}{1,512}$"

Example responses

200 Response

{
  "items": [
    {
      "id": "4dfe77dac089f3d15b7c",
      "name": "customerType",
      "label": "Customer Type",
      "description": "Filter by either retail or business customers",
      "dataType": "string",
      "category": "customers",
      "state": "active",
      "operators": [
        {
          "operator": "equals",
          "label": "Is"
        },
        {
          "operator": "notEquals",
          "label": "Is Not"
        }
      ],
      "defaultOperator": "equals",
      "categoryOrdinal": 120,
      "filterOrdinal": 75
    },
    {
      "id": "d62c070183f9",
      "name": "customerAge",
      "label": "Customer Age",
      "category": "retailCustomers",
      "description": "Filter that selects only retail customers",
      "dataType": "integer",
      "state": "active",
      "operators": [
        {
          "operator": "equals",
          "label": "Equal To"
        },
        {
          "operator": "notEquals",
          "label": "Not Equal To"
        },
        {
          "operator": "lessThan",
          "label": "Younger Than"
        },
        {
          "operator": "greaterThan",
          "label": "Older Than"
        },
        {
          "operator": "between",
          "label": "Between"
        },
        {
          "operator": "notBetween",
          "label": "Not Between"
        }
      ],
      "defaultOperator": "between",
      "categoryOrdinal": 160,
      "filterOrdinal": 40,
      "constraints": {
        "integers": {
          "minimum": 2,
          "maximum": 130
        }
      }
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: analyticFilterTypes
HeaderETag
string
The value of this resource's entity tag, to be passed with If-Match and If-None-Match request headers in other conditional API calls for this resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: Inline
StatusDescription
401 Unauthorized

Unauthorized. The operation requires authentication but no authentication or insufficient authentication was given.

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

Schema: Inline
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: Inline
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse
StatusDescription
429 Too Many Requests

Too Many Requests. The client has sent too many requests in a given amount of time.

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

Schema: Inline
StatusDescription
4XX Unknown
Client Request Problem. The client request had a problem not listed under another specific 400-level HTTP response code. View the detail in the problem response for additional details.
Schema: Inline
StatusDescription
5XX Unknown
Server Problem. The server encountered a problem not listed under another specific 500-level HTTP response code. View the detail in the problem response for additional details.
Schema: Inline

Response Schema

Status Code 400

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 401

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 403

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 429

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 4XX

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 5XX

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

getAnalyticFilterType

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId} \
  -H 'Accept: application/json' \
  -H 'Accept-Language: string' \
  -H 'If-None-Match: string' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
Accept-Language: string
If-None-Match: string

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

const headers = {
  'Accept':'application/json',
  'Accept-Language':'string',
  'If-None-Match':'string',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId}',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Accept-Language':'string',
  'If-None-Match':'string',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId}',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Accept-Language' => 'string',
  'If-None-Match' => 'string',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Accept-Language': 'string',
  'If-None-Match': 'string',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId}");
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"},
        "Accept-Language": []string{"string"},
        "If-None-Match": []string{"string"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Fetch a representation of this analytic filter type

GET https://api.apiture.com/bankingAdmin/analyticFilterTypes/{analyticFilterTypeId}

Return the JSON representation of this analytic filter type resource.

Parameters

ParameterDescription
Accept-Language
in: header
string(text)
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231. If no localized data is available that matches the requested language tag, the default US English data is returned.
format: text
maxLength: 128
If-None-Match
in: header
string
The entity tag that was returned in the ETag response header of a previous call. If the resource's current entity tag value matches this header value, the GET will return 304 (Not Modified) and no response body, else the current resource representation and updated ETag is returned.
maxLength: 512
pattern: "^\\P{Cc}{1,512}$"
analyticFilterTypeId
in: path
resourceId (required)
The unique identifier of this analytic filter type. This is an opaque string.
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"

Example responses

200 Response

{
  "name": "customerAge",
  "label": "Customer Age",
  "category": "retailCustomers",
  "state": "active",
  "operators": [
    {
      "operator": "equals",
      "label": "Equal To"
    },
    {
      "operator": "notEquals",
      "label": "Not Equal To"
    },
    {
      "operator": "lessThan",
      "label": "Younger Than"
    },
    {
      "operator": "greaterThan",
      "label": "Older Than"
    },
    {
      "operator": "between",
      "label": "Between"
    },
    {
      "operator": "notBetween",
      "label": "Not Between"
    }
  ],
  "defaultOperator": "between",
  "categoryOrdinal": 120,
  "filterOrdinal": 75,
  "id": "0399abed-fd3d",
  "description": "Filter by customer age ranges",
  "dataType": "integer",
  "constraints": {
    "list": {
      "minimumValues": 1,
      "maximumValues": 1,
      "values": [
        {
          "value": "lessThan25",
          "label": "Less than 25",
          "range": [
            "0",
            "24"
          ]
        },
        {
          "value": "25to34",
          "label": "25 to 34",
          "range": [
            "25",
            "34"
          ]
        },
        {
          "value": "35to44",
          "label": "35 to 44",
          "range": [
            "35",
            "44"
          ]
        },
        {
          "value": "45to54",
          "label": "45 to 54",
          "range": [
            "45",
            "54"
          ]
        },
        {
          "value": "55to64",
          "label": "55 to 64",
          "range": [
            "55",
            "64"
          ]
        },
        {
          "value": "65orOlder",
          "label": "65 or older",
          "range": [
            "65",
            "130"
          ]
        }
      ]
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: analyticFilterType
HeaderETag
string
The value of this resource's entity tag, to be passed with If-Match and If-None-Match request headers in other conditional API calls for this resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
401 Unauthorized

Unauthorized. The operation requires authentication but no authentication or insufficient authentication was given.

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

Schema: Inline
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: Inline
StatusDescription
404 Not Found
Not Found. There is no such analytic filter type resource at the specified {analyticFilterTypeId}.
Schema: problemResponse
StatusDescription
429 Too Many Requests

Too Many Requests. The client has sent too many requests in a given amount of time.

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

Schema: Inline
StatusDescription
4XX Unknown
Client Request Problem. The client request had a problem not listed under another specific 400-level HTTP response code. View the detail in the problem response for additional details.
Schema: Inline
StatusDescription
5XX Unknown
Server Problem. The server encountered a problem not listed under another specific 500-level HTTP response code. View the detail in the problem response for additional details.
Schema: Inline

Response Schema

Status Code 401

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 403

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 429

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 4XX

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Status Code 5XX

Property Name Description
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
» type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
maxLength: 2048
» title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
maxLength: 120
» status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
» detail string(text)
A human-readable explanation specific to this occurrence of the problem.
maxLength: 256
» instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
maxLength: 2048
» id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
» occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
minLength: 20
maxLength: 30
» problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
» attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

Schemas

analyticFilterDateConstraints

{
  "minimumDate": "today"
}

Analytic Filter Date Constraints (v1.0.0)

Constraints for a filter type whose dataType is date. Dates are expressed in RFC 3339 YYYY-MM-DD date format. A value may also be today rather than a fixed date.

Properties

NameDescription
Analytic Filter Date Constraints (v1.0.0) object
Constraints for a filter type whose dataType is date. Dates are expressed in RFC 3339 YYYY-MM-DD date format. A value may also be today rather than a fixed date.
minimumDate string
The user must enter a date value that falls on or after this date.
maxLength: 10
pattern: "^(today|\\d{4}-\\d{2}-\\d{2})$"
maximumDate string
The user must enter a date value that falls on or before this date.
maxLength: 10
pattern: "^(today|\\d{4}-\\d{2}-\\d{2})$"

analyticFilterIntegerConstraints

{
  "minimum": 0,
  "maximum": 99
}

Analytic Filter Integer Constraints (v1.0.0)

Constraints for a filter type whose dataType is integer. All properties are optional.

Properties

NameDescription
Analytic Filter Integer Constraints (v1.0.0) object
Constraints for a filter type whose dataType is integer. All properties are optional.
minimum integer(int32)
The user must enter a value that is greater than or equal to this value.
format: int32
minimum: -2147483648
maximum: 2147483647
maximum integer(int32)
The user must enter a value that is less than or equal to this value.
format: int32
minimum: -2147483648
maximum: 2147483647

analyticFilterListConstraints

{
  "minimumValues": 1,
  "maximumValues": 1,
  "values": [
    {
      "value": "lessThan25",
      "label": "Less than 25",
      "range": [
        "0",
        "24"
      ]
    },
    {
      "value": "25to34",
      "label": "25 to 34",
      "range": [
        "25",
        "34"
      ]
    },
    {
      "value": "35to44",
      "label": "35 to 44",
      "range": [
        "35",
        "44"
      ]
    },
    {
      "value": "45to54",
      "label": "45 to 54",
      "range": [
        "45",
        "54"
      ]
    },
    {
      "value": "55to64",
      "label": "55 to 64",
      "range": [
        "55",
        "64"
      ]
    },
    {
      "value": "65orOlder",
      "label": "65 or older",
      "range": [
        "65",
        "130"
      ]
    }
  ]
}

Analytic Filter List Constraints (v1.0.0)

Constraints for a flat analytic filter selection list.

Properties

NameDescription
Analytic Filter List Constraints (v1.0.0) object
Constraints for a flat analytic filter selection list.
minimumValues integer(int32)
The minimum number of values the analyst must select when using a filter of this filter type.
format: int32
minimum: 1
maximum: 1000
maximumValues integer(int32)
The maximum number of values the analyst must select when using a filter of this filter type. The maximum of 1 indicates the filter type is for single selection filters (equals and notEquals operators), and more than 1 is for multiple-selection filters (in and notIn operators)
format: int32
minimum: 1
maximum: 1000
values array: [analyticFilterListValue]
A list of fixed values the user may choose from.
minItems: 1
maxItems: 10000
items: object

analyticFilterListValue

{
  "value": "25-to-35",
  "label": "25 to 35",
  "range": [
    "25",
    "35"
  ]
}

Analytic Filter List Value (v1.0.0)

An value in a list of allowed values in a filter type's list constraint. For example, if the filter type is a list of customer age groups, each item represents the age range with two values and a label that describes the range, such as:

{ "id": "25-to-35", "label": "25 to 35", "range": [ "25", "35" ] } The label allows a natural, formatted presentation of the range while the values conveying the range values. The values used in a filter must be the corresponding id value from this object. For example, if the user selected the item with the label "25 to 35", the client should put the corresponding value ("25-to-35") in the filter's values.

Properties

NameDescription
Analytic Filter List Value (v1.0.0) object
An value in a list of allowed values in a filter type's list constraint. For example, if the filter type is a list of customer age groups, each item represents the age range with two values and a label that describes the range, such as:

{ "id": "25-to-35", "label": "25 to 35", "range": [ "25", "35" ] } The label allows a natural, formatted presentation of the range while the values conveying the range values. The values used in a filter must be the corresponding id value from this object. For example, if the user selected the item with the label "25 to 35", the client should put the corresponding value ("25-to-35") in the filter's values.

value string (required)
The value to use for this item when defining a filter. This is a programmatic identifier for this value which does not change with locales.
minLength: 1
maxLength: 48
pattern: "^[-_a-zA-Z0-9]{1,48}$"
label string(text) (required)
An optional text label that describes this item. This is suitable for presenting the option in a user interface selection list (either single selection or multiple selection, based on the filter types, maximumValues). This may differ from the value, specifically if the client requests localized labels.
format: text
maxLength: 100
range array: [analyticFilterValue]
The optional string representation of the raw value range that bounds this item.
maxItems: 400
items: string(text)
» format: text
» maxLength: 200

analyticFilterNestedConstraints

{
  "minimumValues": 1,
  "maximumValues": 1,
  "items": [
    {
      "label": "Alabama",
      "values": [
        {
          "value": "01001",
          "label": "Autauga"
        },
        {
          "value": "01003",
          "label": "Baldwin"
        },
        {
          "value": "01005",
          "label": "Barbour"
        },
        {
          "value": "01007",
          "label": "Bibb"
        },
        {
          "value": "01009",
          "label": "Blount"
        },
        {
          "value": "01011",
          "label": "Bullock"
        },
        {
          "value": "...",
          "label": "..."
        },
        {
          "value": "01113",
          "label": "Winston"
        }
      ]
    },
    {
      "label": "Arkansas",
      "values": [
        {
          "value": "05000",
          "label": "Arkansas"
        },
        {
          "value": "05003",
          "label": "Ashley"
        },
        {
          "value": "05005",
          "label": "Baxter"
        },
        {
          "value": "05007",
          "label": "Benton"
        },
        {
          "value": "05009",
          "label": "Boone"
        },
        {
          "value": "...",
          "label": "..."
        },
        {
          "value": "05149",
          "label": "Yell"
        }
      ]
    }
  ]
}

Analytic Filter Nested Constraints (v1.0.0)

A list of fixed values organized into a nesting of primary values, each with a nested list of secondary values. For example, US counties are listed by a primary value of the state and secondary value of counties within the state.

Properties

NameDescription
Analytic Filter Nested Constraints (v1.0.0) object
A list of fixed values organized into a nesting of primary values, each with a nested list of secondary values. For example, US counties are listed by a primary value of the state and secondary value of counties within the state.
minimumValues integer(int32)
The minimum number of values the analyst must select when using a filter of this filter type.
format: int32
minimum: 1
maximum: 1000
maximumValues integer(int32)
The maximum number of values the analyst must select when using a filter of this filter type. The maximum of 1 indicates the filter type is for single selection filters (equals and notEquals operators), and more than 1 is for multiple-selection filters (in and notIn operators)
format: int32
minimum: 1
maximum: 1000
items array: [analyticFilterNestedValues]
The top level of the hierarchy; each of these items contains a nested list of values.
minItems: 1
maxItems: 200
items: object

analyticFilterNestedValue

{
  "value": "01003",
  "label": "Baldwin"
}

Analytic Filter Nested Value (v1.0.0)

A single value constraint within the second-level values of a nested analytic filter type.

Properties

NameDescription
Analytic Filter Nested Value (v1.0.0) object
A single value constraint within the second-level values of a nested analytic filter type.
value string(text) (required)
The unique ID of the nested constraint value. The client should use this property as one of the values in a filter when the analyst selects this item. For example, if selecting counties within states, the value for each county may be its FIPS code.
format: text
minLength: 1
maxLength: 100
label string(text)
An optional text label that describes this secondary level item. This is suitable for presenting the option in a user interface selection list. This may differ from the value, specifically if the client requests localized labels.
format: text
minLength: 1
maxLength: 100

analyticFilterNestedValues

{
  "label": "Alabama",
  "values": [
    {
      "value": "01001",
      "label": "Autauga"
    },
    {
      "value": "01003",
      "label": "Baldwin"
    },
    {
      "value": "01005",
      "label": "Barbour"
    },
    {
      "value": "01007",
      "label": "Bibb"
    },
    {
      "value": "01009",
      "label": "Blount"
    },
    {
      "value": "01011",
      "label": "Bullock"
    },
    {
      "value": "...",
      "label": "..."
    },
    {
      "value": "01113",
      "label": "Winston"
    }
  ]
}

Analytic Filter Nested Values (v1.0.0)

Defines an item in a nested filter array of top-level items, such as a state and the list of counties within that state.

Properties

NameDescription
Analytic Filter Nested Values (v1.0.0) object
Defines an item in a nested filter array of top-level items, such as a state and the list of counties within that state.
label string(text) (required)
The text label that describes this primary level. This is suitable for presenting the option in a user interface selection list This may differ from the id, specifically if the client requests localized labels.
format: text
minLength: 1
maxLength: 100
values array: [analyticFilterNestedValue] (required)
The list of selectable items under the primary item.
maxItems: 400
items: object

analyticFilterNumberConstraints

{
  "minimum": 0,
  "maximum": 999.99,
  "precision": 2
}

Analytic Filter Number Constraints (v1.0.0)

Constraints for a filter type whose dataType is number or currency. All properties are optional.

Properties

NameDescription
Analytic Filter Number Constraints (v1.0.0) object
Constraints for a filter type whose dataType is number or currency. All properties are optional.
minimum number
The user must enter a value that is greater than or equal to this value.
maximum number
The user must enter a value that is less than or equal to this value.
precision integer(int32)
For filter types with dataType of number, this is the maximum number of decimal digits allowed after the decimal point. Scientific notation is not allowed.
format: int32
minimum: 1
maximum: 20

analyticFilterOperator

{
  "operator": "equals",
  "label": "Is"
}

Analytic Filter Operator (v1.0.0)

An operator in a filter type and its label.

Properties

NameDescription
Analytic Filter Operator (v1.0.0) object
An operator in a filter type and its label.
operator analyticFilterOperatorType

Indicates the type of the comparison operator used by an analytic filter.

analyticFilterOperatorType strings may have one of the following enumerated values:

ValueDescription
equalsEquals:

The measure is equal to a value. A filter using this operator requires exactly 1 value.

notEqualsNot Equals:

The measure not equal to a value. A filter using this operator requires exactly 1 value.

lessThanLess Than:

The measurement less than a value. A filter using this operator requires exactly 1 value.

lessThanOrEqualToLess Than or Equal To:

The measure less than or equal a value. A filter using this operator requires exactly 1 value.

greaterThanGreater Than:

The measure is greater than a value. A filter using this operator requires exactly 1 value.

greaterThanOrEqualToGreater Than or Equal To:

The measure greater than or equal to a value. A filter using this operator requires exactly 1 value.

betweenBetween:

The measure is Between a minimum and maximum value. A filter using this operator requires exactly 2 values.

notBetweenNot Between:

Measure not between a minimum and maximum value. A filter using this operator requires exactly 2 values.

beforeBefore:

Date measure before or on a value. A filter using this operator requires exactly 1 value.

afterAfter:

Date measure on or after a value. A filter using this operator requires exactly 1 value.

inIn:

The measure is in a set of values. A filter using this operator requires at least 2 values.

notInNot In:

The measure is not in a set of values. A filter using this operator requires exactly 2 values.


enum values: equals, notEquals, lessThan, lessThanOrEqualTo, greaterThan, greaterThanOrEqualTo, before, after, between, notBetween, in, notIn
label string(text)
The label for an operator in an analytic filter type.
format: text
minLength: 2
maxLength: 40

analyticFilterOperatorConstraints

{
  "list": {
    "minimumValues": 1,
    "maximumValues": 1,
    "values": [
      {
        "value": "lessThan25",
        "label": "Less than 25",
        "range": [
          "0",
          "24"
        ]
      },
      {
        "value": "25to34",
        "label": "25 to 34",
        "range": [
          "25",
          "34"
        ]
      },
      {
        "value": "35to44",
        "label": "35 to 44",
        "range": [
          "35",
          "44"
        ]
      },
      {
        "value": "45to54",
        "label": "45 to 54",
        "range": [
          "45",
          "54"
        ]
      },
      {
        "value": "55to64",
        "label": "55 to 64",
        "range": [
          "55",
          "64"
        ]
      },
      {
        "value": "65orOlder",
        "label": "65 or older",
        "range": [
          "65",
          "130"
        ]
      }
    ]
  }
}

Analytic Filter Operator Constraints (v1.0.1)

Optional constraints that apply to the values attached to a filter instance based on this filter type.

All of these properties are optional.

Properties

NameDescription
Analytic Filter Operator Constraints (v1.0.1) object
Optional constraints that apply to the values attached to a filter instance based on this filter type.

All of these properties are optional.

number analyticFilterNumberConstraints
Constraints for a filter type whose dataType is number or currency. All properties are optional.
integer analyticFilterIntegerConstraints
Constraints for a filter type whose dataType is integer. All properties are optional.
string analyticFilterStringConstraints
Constraints for a filter type whose dataType is string. All properties are optional.
date analyticFilterDateConstraints
Constraints for a filter type whose dataType is date. Dates are expressed in RFC 3339 YYYY-MM-DD date format. A value may also be today rather than a fixed date.
list analyticFilterListConstraints
Constraints for a flat analytic filter selection list.
nestedList analyticFilterNestedConstraints
A list of fixed values organized into a nesting of primary values, each with a nested list of secondary values. For example, US counties are listed by a primary value of the state and secondary value of counties within the state.

analyticFilterOperatorType

"equals"

Analytic Filter Operator Type (v1.0.0)

Indicates the type of the comparison operator used by an analytic filter.

analyticFilterOperatorType strings may have one of the following enumerated values:

ValueDescription
equalsEquals:

The measure is equal to a value. A filter using this operator requires exactly 1 value.

notEqualsNot Equals:

The measure not equal to a value. A filter using this operator requires exactly 1 value.

lessThanLess Than:

The measurement less than a value. A filter using this operator requires exactly 1 value.

lessThanOrEqualToLess Than or Equal To:

The measure less than or equal a value. A filter using this operator requires exactly 1 value.

greaterThanGreater Than:

The measure is greater than a value. A filter using this operator requires exactly 1 value.

greaterThanOrEqualToGreater Than or Equal To:

The measure greater than or equal to a value. A filter using this operator requires exactly 1 value.

betweenBetween:

The measure is Between a minimum and maximum value. A filter using this operator requires exactly 2 values.

notBetweenNot Between:

Measure not between a minimum and maximum value. A filter using this operator requires exactly 2 values.

beforeBefore:

Date measure before or on a value. A filter using this operator requires exactly 1 value.

afterAfter:

Date measure on or after a value. A filter using this operator requires exactly 1 value.

inIn:

The measure is in a set of values. A filter using this operator requires at least 2 values.

notInNot In:

The measure is not in a set of values. A filter using this operator requires exactly 2 values.

type: string


enum values: equals, notEquals, lessThan, lessThanOrEqualTo, greaterThan, greaterThanOrEqualTo, before, after, between, notBetween, in, notIn

analyticFilterStringConstraints

{
  "minimumLength": 0,
  "maximumLength": 20
}

Analytic Filter String Constraints (v1.0.0)

Constraints for a filter type whose dataType is string. All properties are optional.

Properties

NameDescription
Analytic Filter String Constraints (v1.0.0) object
Constraints for a filter type whose dataType is string. All properties are optional.
minimumLength integer(int32)
The user must enter a value that has at least this number of characters.
format: int32
minimum: 0
maximum: 200
maximumLength integer(int32)
The user must enter a value that has no more than this number of characters.
format: int32
minimum: 1
maximum: 200

analyticFilterType

{
  "name": "customerAge",
  "label": "Customer Age",
  "category": "retailCustomers",
  "state": "active",
  "operators": [
    {
      "operator": "equals",
      "label": "Equal To"
    },
    {
      "operator": "notEquals",
      "label": "Not Equal To"
    },
    {
      "operator": "lessThan",
      "label": "Younger Than"
    },
    {
      "operator": "greaterThan",
      "label": "Older Than"
    },
    {
      "operator": "between",
      "label": "Between"
    },
    {
      "operator": "notBetween",
      "label": "Not Between"
    }
  ],
  "defaultOperator": "between",
  "categoryOrdinal": 120,
  "filterOrdinal": 75,
  "id": "0399abed-fd3d",
  "description": "Filter by customer age ranges",
  "dataType": "integer",
  "constraints": {
    "list": {
      "minimumValues": 1,
      "maximumValues": 1,
      "values": [
        {
          "value": "lessThan25",
          "label": "Less than 25",
          "range": [
            "0",
            "24"
          ]
        },
        {
          "value": "25to34",
          "label": "25 to 34",
          "range": [
            "25",
            "34"
          ]
        },
        {
          "value": "35to44",
          "label": "35 to 44",
          "range": [
            "35",
            "44"
          ]
        },
        {
          "value": "45to54",
          "label": "45 to 54",
          "range": [
            "45",
            "54"
          ]
        },
        {
          "value": "55to64",
          "label": "55 to 64",
          "range": [
            "55",
            "64"
          ]
        },
        {
          "value": "65orOlder",
          "label": "65 or older",
          "range": [
            "65",
            "130"
          ]
        }
      ]
    }
  }
}

Analytic Filter Type (v1.2.2)

Representation of Analytic Filter Type resources. Filter Type provide definition of a class of filters, including the name, description. Filter types also provide metadata to define how the filter type is instantiated for a concrete filter:

  • the list of allowed operators to use in the filter instance
  • optional labels for each of the operators
  • the data types for the values an analyst supplies for a specific filter instance
  • constraints on the values in filters based on this type, such as cardinality, minimum and maximum values, or selection lists.

Properties

NameDescription
Analytic Filter Type (v1.2.2) object

Representation of Analytic Filter Type resources. Filter Type provide definition of a class of filters, including the name, description. Filter types also provide metadata to define how the filter type is instantiated for a concrete filter:

  • the list of allowed operators to use in the filter instance
  • optional labels for each of the operators
  • the data types for the values an analyst supplies for a specific filter instance
  • constraints on the values in filters based on this type, such as cardinality, minimum and maximum values, or selection lists.
name analyticFilterTypeName(text) (required)
The name of this filter. Names are durable and do not change over time.
format: text
minLength: 2
maxLength: 100
label string(text) (required)
A text label for this filter type, suitable for use in selection lists.
format: text
minLength: 6
maxLength: 80
description string(markdown) (required)
Text which describes the filter. This text may use Markdown for text styling.
format: markdown
maxLength: 500
dataType analyticFilterValueType (required)
Indicates the type of data value the analyst provides when using this filter type and operator.
enum values: string, integer, number, boolean, date
state analyticFilterTypeState (required)
The state of this filter type.
enum values: active, inactive
category string (required)
The category of the filter. Categories are durable and do not change over time.
minLength: 6
maxLength: 48
pattern: "^[-a-zA-Z0-9$_]{6,48}$"
operators array: [analyticFilterOperator] (required)
The ordered list of allowed operators to use when creating a filter from this filter type.
minItems: 1
maxItems: 16
items: object
defaultOperator analyticFilterOperatorType (required)
The name of one of the operators that is the default operator.
enum values: equals, notEquals, lessThan, lessThanOrEqualTo, greaterThan, greaterThanOrEqualTo, before, after, between, notBetween, in, notIn
categoryOrdinal integer(int32)
An integer that indicates this category's importance, relative to other categories, to allow the client to sort filter types by category importance. This is independent of the category name.
format: int32
minimum: 0
maximum: 10000
default: 0
filterOrdinal integer(int32)
An integer that indicates this filter type's importance, relative to other filter types, to allow the client to sort filter types by importance. This is independent of this filter type's name.
format: int32
minimum: 0
maximum: 10000
default: 0
id readOnlyResourceId (required)
The unique identifier for this analytic filter type resource. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"
constraints analyticFilterOperatorConstraints
Optional constraints that apply to the values attached to a filter instance based on this filter type.

All of these properties are optional.

analyticFilterTypeItem

{
  "name": "customerAge",
  "label": "Customer Age",
  "category": "retailCustomers",
  "state": "active",
  "operators": [
    {
      "operator": "equals",
      "label": "Equal To"
    },
    {
      "operator": "notEquals",
      "label": "Not Equal To"
    },
    {
      "operator": "lessThan",
      "label": "Younger Than"
    },
    {
      "operator": "greaterThan",
      "label": "Older Than"
    },
    {
      "operator": "between",
      "label": "Between"
    },
    {
      "operator": "notBetween",
      "label": "Not Between"
    }
  ],
  "defaultOperator": "between",
  "categoryOrdinal": 120,
  "filterOrdinal": 75,
  "id": "0399abed-fd3d",
  "description": "Filter by customer age ranges",
  "dataType": "integer"
}

Analytic Filter Type Item (v1.2.2)

Summary representation of an analytic filter type resource in analytic filter types collections. To fetch the full representation of this analytic filter type, use the getAnalyticFilterType operation, passing this item's id field as the analyticFilterTypeId path parameter.

Properties

NameDescription
Analytic Filter Type Item (v1.2.2) object
Summary representation of an analytic filter type resource in analytic filter types collections. To fetch the full representation of this analytic filter type, use the getAnalyticFilterType operation, passing this item's id field as the analyticFilterTypeId path parameter.
name analyticFilterTypeName(text) (required)
The name of this filter. Names are durable and do not change over time.
format: text
minLength: 2
maxLength: 100
label string(text) (required)
A text label for this filter type, suitable for use in selection lists.
format: text
minLength: 6
maxLength: 80
description string(markdown) (required)
Text which describes the filter. This text may use Markdown for text styling.
format: markdown
maxLength: 500
dataType analyticFilterValueType (required)
Indicates the type of data value the analyst provides when using this filter type and operator.
enum values: string, integer, number, boolean, date
state analyticFilterTypeState (required)
The state of this filter type.
enum values: active, inactive
category string (required)
The category of the filter. Categories are durable and do not change over time.
minLength: 6
maxLength: 48
pattern: "^[-a-zA-Z0-9$_]{6,48}$"
operators array: [analyticFilterOperator]
The ordered list of allowed operators to use when creating a filter from this filter type.
minItems: 1
maxItems: 16
items: object
defaultOperator analyticFilterOperatorType
The name of one of the operators that is the default operator.
enum values: equals, notEquals, lessThan, lessThanOrEqualTo, greaterThan, greaterThanOrEqualTo, before, after, between, notBetween, in, notIn
categoryOrdinal integer(int32)
An integer that indicates this category's importance, relative to other categories, to allow the client to sort filter types by category importance. This is independent of the category name.
format: int32
minimum: 0
maximum: 10000
default: 0
filterOrdinal integer(int32)
An integer that indicates this filter type's importance, relative to other filter types, to allow the client to sort filter types by importance. This is independent of this filter type's name.
format: int32
minimum: 0
maximum: 10000
default: 0
id readOnlyResourceId (required)
The unique identifier for this analytic filter type resource. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"

analyticFilterTypeName

"string"

Analytic Filter Type Name (v1.0.2)

The name of an analytic filter type.

type: string(text)


format: text
minLength: 2
maxLength: 100

analyticFilterTypeReference

{
  "id": "3752cfec9b06fae15c9e",
  "name": "customerAge"
}

Analytic Filter Type Reference (v1.0.2)

An object that reference and Analytic Filter Type by its id and name.

Properties

NameDescription
Analytic Filter Type Reference (v1.0.2) object
An object that reference and Analytic Filter Type by its id and name.
id resourceId (required)
The unique identifier for this analytic filter type resource. This is an immutable opaque string.
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"
name analyticFilterTypeName(text)
The name of the filter type. This is for informational purposes only.
format: text
minLength: 2
maxLength: 100

analyticFilterTypeState

"active"

Analytic Filter State (v1.0.0)

The state of a filter type.

type: string


enum values: active, inactive

analyticFilterTypes

{
  "items": [
    {
      "id": "4dfe77dac089f3d15b7c",
      "name": "customerType",
      "label": "Customer Type",
      "description": "Filter by either retail or business customers",
      "dataType": "string",
      "category": "customers",
      "state": "active",
      "operators": [
        {
          "operator": "equals",
          "label": "Is"
        },
        {
          "operator": "notEquals",
          "label": "Is Not"
        }
      ],
      "defaultOperator": "equals",
      "categoryOrdinal": 120,
      "filterOrdinal": 75
    },
    {
      "id": "d62c070183f9",
      "name": "customerAge",
      "label": "Customer Age",
      "category": "retailCustomers",
      "description": "Filter that selects only retail customers",
      "dataType": "integer",
      "state": "active",
      "operators": [
        {
          "operator": "equals",
          "label": "Equal To"
        },
        {
          "operator": "notEquals",
          "label": "Not Equal To"
        },
        {
          "operator": "lessThan",
          "label": "Younger Than"
        },
        {
          "operator": "greaterThan",
          "label": "Older Than"
        },
        {
          "operator": "between",
          "label": "Between"
        },
        {
          "operator": "notBetween",
          "label": "Not Between"
        }
      ],
      "defaultOperator": "between",
      "categoryOrdinal": 160,
      "filterOrdinal": 40,
      "constraints": {
        "integers": {
          "minimum": 2,
          "maximum": 130
        }
      }
    }
  ]
}

Analytic Filter Type Collection (v1.2.2)

Collection of analytic filter types. The items in the collection are ordered in the items array.

Properties

NameDescription
Analytic Filter Type Collection (v1.2.2) object
Collection of analytic filter types. The items in the collection are ordered in the items array.
items array: [analyticFilterTypeItem] (required)
An array containing analytic filter type items.
maxItems: 1000
items: object

analyticFilterValue

"25-to-49"

Analytic Filter Value (v1.0.0)

A constant value used in a filter, such as 25 in a filter { customerAge greater than 25 }. This value is compared to the measure defined by the filter.

type: string(text)


format: text
maxLength: 200

analyticFilterValueType

"string"

Analytic Filter Value Type (v1.0.0)

Indicates the type of data value the analyst provides when using this filter type and operator.

type: string


enum values: string, integer, number, boolean, date

apiProblem

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/accountNotFound/v1.0.0",
  "title": "Account Not Found",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No account exists at the given account_url",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

API Problem (v1.2.1)

API problem or error, as per RFC 7807 application/problem+json.

Properties

NameDescription
API Problem (v1.2.1) object
API problem or error, as per RFC 7807 application/problem+json.
type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
format: uri-reference
maxLength: 2048
title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
format: text
maxLength: 120
status integer(int32)
The HTTP status code for this occurrence of the problem.
format: int32
minimum: 100
maximum: 599
detail string(text)
A human-readable explanation specific to this occurrence of the problem.
format: text
maxLength: 256
instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
format: uri-reference
maxLength: 2048
id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"
occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
read-only
format: date-time
minLength: 20
maxLength: 30
problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
items: object

challengeFactor

{
  "type": "sms",
  "labels": [
    "9876"
  ]
}

Challenge Factor (v1.2.1)

An challenge factor. See requiredIdentityChallenge for multiple examples.

Properties

NameDescription
Challenge Factor (v1.2.1) object
An challenge factor. See requiredIdentityChallenge for multiple examples.
id challengeFactorId
The ID of an a challenge factor. This ID is unique within the challenge factors associated with a challenge. The client should pass this id value as the factorId when starting or verifying a challenge factor.

Note: The id will become required in a future update to this schema.
minLength: 3
maxLength: 48
pattern: "^[-a-zA-Z0-9$_]{3,48}$"

type challengeFactorType (required)

The name of challenge factor.

challengeFactorType strings may have one of the following enumerated values:

ValueDescription
smsSMS:

One-time passcode sent to the primary mobile phone number

emailEmail:

One-time passcode sent to the primary email address

voiceVoice:

One-time passcode communicated via automated voice phone call

authenticatorTokenauthenticator Token:

One-time passcode issued by a pre-registered hardware device, such as a token key fob, or an authenticator app

securityQuestionsSecurity Questions:

Prompt with the user's security questions registered with their security profile


enum values: sms, email, voice, securityQuestions, authenticatorToken
labels array: [string]
A list of text label which identifies the channel(s) through which the user completes the challenge. For an sms or voice challenge, the only label item is the last four digits of the corresponding phone number. For an email challenge, each label is the masked email address.
minItems: 1
maxItems: 4
items: string(text)
» format: text
» maxLength: 300
securityQuestions challengeSecurityQuestions
Describes a securityQuestions challenge. This is omitted if the challenge type is not securityQuestions.

challengeFactorId

"string"

Challenge Factor ID (v1.0.0)

The ID of an a challenge factor. This ID is unique within the factors offered with a challenge.

type: string


minLength: 3
maxLength: 48
pattern: "^[-a-zA-Z0-9$_]{3,48}$"

challengeFactorType

"sms"

Challenge Factor Type (v1.0.0)

The name of challenge factor.

challengeFactorType strings may have one of the following enumerated values:

ValueDescription
smsSMS:

One-time passcode sent to the primary mobile phone number

emailEmail:

One-time passcode sent to the primary email address

voiceVoice:

One-time passcode communicated via automated voice phone call

authenticatorTokenauthenticator Token:

One-time passcode issued by a pre-registered hardware device, such as a token key fob, or an authenticator app

securityQuestionsSecurity Questions:

Prompt with the user's security questions registered with their security profile

type: string


enum values: sms, email, voice, securityQuestions, authenticatorToken

challengeOperationId

"string"

Challenge Operation ID (v1.0.1)

The ID of an operation/action for which the user must verify their identity via an identity challenge. This is passed when starting a challenge factor or when validating the identity challenge responses.

type: string


minLength: 6
maxLength: 48
pattern: "^[-a-zA-Z0-9$_]{6,48}$"

challengePromptId

"string"

Challenge Prompt ID (v1.0.0)

The unique ID of a prompt (such as a security question) in a challenge factor.

type: string


minLength: 1
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]+$"

challengeSecurityQuestion

{
  "id": "74699fa628911e762ea5",
  "prompt": "What is your mother's maiden name?"
}

Challenge Security Question (v1.0.1)

A single security question within the questions array of the challengeSecurityQuestions

Properties

NameDescription
Challenge Security Question (v1.0.1) object
A single security question within the questions array of the challengeSecurityQuestions
id challengePromptId (required)
The unique ID of security question prompt. This should be included in the challengeVerification response as the promptId.
minLength: 1
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]+$"
prompt string(text) (required)
The text prompt of this security question.
format: text
maxLength: 80

challengeSecurityQuestions

{
  "questions": [
    {
      "id": "q1",
      "prompt": "What is your mother's maiden name?"
    },
    {
      "id": "q4",
      "prompt": "What is your high school's name?"
    },
    {
      "id": "q9",
      "prompt": "What is the name of your first pet?"
    }
  ]
}

Challenge Security Questions (v1.0.1)

Describes a securityQuestions challenge. This is omitted if the challenge type is not securityQuestions.

Properties

NameDescription
Challenge Security Questions (v1.0.1) object
Describes a securityQuestions challenge. This is omitted if the challenge type is not securityQuestions.
questions array: [challengeSecurityQuestion] (required)
The array of security questions.
minItems: 1
maxItems: 8
items: object

compositeAnalyticFilter

{
  "operator": "or",
  "primitiveFilters": [
    {
      "filterType": {
        "id": "215eaed841368ce154d5",
        "name": "customerType"
      },
      "operator": "equals",
      "values": [
        "retail"
      ]
    },
    {
      "filterType": {
        "id": "6b3927745edec398ad74",
        "name": "customerAge"
      },
      "operator": "between",
      "values": [
        "35",
        "49"
      ]
    }
  ],
  "compositeFilters": [
    {
      "operator": "and",
      "primitiveFilters": [
        {
          "filterType": {
            "name": "customerRegion",
            "id": "01888d58e2424bf1c676"
          },
          "operator": "in",
          "values": [
            "NC",
            "SC",
            "GA",
            "FL"
          ]
        },
        {
          "filterType": {
            "name": "accountBalance",
            "id": "023cd8af6a9d46eec506"
          },
          "operator": "greaterThan",
          "values": [
            "250000.00"
          ]
        }
      ]
    }
  ]
}

Composite Analytic Filter (v1.0.2)

A composite of analytic filter that are combined with a logical operator (and, or, not). For example, if primitiveFilters contains 3 filters p1, p2 and p2 and compositeFilters contains 2 filters c1, c2 and operator is and, the filter represents the expression ( p1 and p2 and p3 and c1 and c2 ). The example is equivalent to

( { customerType equals "retail" } or { customerAge between ["35", "49"] } or ( { customerRegion in [ "NC", "SC", "GA", "FL" ]} and { balance greaterThan "250000.00" } ) )

Note: there must be at least one item either the primitiveFilters array or the compositeFilters array.

Properties

NameDescription
Composite Analytic Filter (v1.0.2) object
A composite of analytic filter that are combined with a logical operator (and, or, not). For example, if primitiveFilters contains 3 filters p1, p2 and p2 and compositeFilters contains 2 filters c1, c2 and operator is and, the filter represents the expression ( p1 and p2 and p3 and c1 and c2 ). The example is equivalent to

( { customerType equals "retail" } or { customerAge between ["35", "49"] } or ( { customerRegion in [ "NC", "SC", "GA", "FL" ]} and { balance greaterThan "250000.00" } ) )

Note: there must be at least one item either the primitiveFilters array or the compositeFilters array.

operator compositeFilterOperator
The logical operator (and, or, not) used to combine the contained filters.
enum values: and, or, not
primitiveFilters array: [primitiveAnalyticFilter]
An array of 0 or more primitive filters to be combined via the operator with each other and the compositeFilters.
maxItems: 100
items: object
compositeFilters array: [compositeAnalyticFilter]
An array of 0 or more composite filters to be combined via the operator with each other and the primitiveFilters.
maxItems: 100
items: object

compositeFilterOperator

"and"

Composite Filter Operator (v1.0.0)

An operator for combining filters in a composite filter.

compositeFilterOperator strings may have one of the following enumerated values:

ValueDescription
andAnd:

A filter is true if all the nested filters evaluate to true.

orOr:

A filter is true if any one or more of the nested filters evaluate to true.

notNot:

A filter is true if none of the nested filters evaluate to true.

type: string


enum values: and, or, not

primitiveAnalyticFilter

{
  "filterType": {
    "id": "6b3927745edec398ad74",
    "name": "customerAge"
  },
  "operator": "between",
  "values": [
    "35",
    "49"
  ]
}

Primitive Analytic Filter (v1.0.2)

A primitive analytic filter that compares constant values to a data measurement within an audience data measure and returns a boolean value.

Properties

NameDescription
Primitive Analytic Filter (v1.0.2) object
A primitive analytic filter that compares constant values to a data measurement within an audience data measure and returns a boolean value.
filterType analyticFilterTypeReference (required)
The name and id of the filter type that this filter is an instance of.
operator analyticFilterOperatorType (required)
The name of the filter operator to apply to the measure associated with the filter type and the optional filter values. This is one of the operators in the corresponding filter type.
enum values: equals, notEquals, lessThan, lessThanOrEqualTo, greaterThan, greaterThanOrEqualTo, before, after, between, notBetween, in, notIn
values array: [analyticFilterValue] (required)
The constant values to compare the measure to. The number of values in this array must be within the minimumValues and maximumValues constraints in the named filter type. Thus array is required but may be an empty array [] if the corresponding analytic filter's minimumValues is 0.
maxItems: 1000
items: string(text)
» format: text
» maxLength: 200

problemResponse

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
  "title": "Account Not Found",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No account exists for the given account reference",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Problem Response (v0.4.1)

API problem or error response, as per RFC 9457 application/problem+json.

Properties

NameDescription
Problem Response (v0.4.1) object
API problem or error response, as per RFC 9457 application/problem+json.
type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
format: uri-reference
maxLength: 2048
title string(text)
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
format: text
maxLength: 120
status integer(int32)
The HTTP status code for this occurrence of the problem.
format: int32
minimum: 100
maximum: 599
detail string(text)
A human-readable explanation specific to this occurrence of the problem.
format: text
maxLength: 256
instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
format: uri-reference
maxLength: 2048
id readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"
occurredAt readOnlyTimestamp(date-time)
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
read-only
format: date-time
minLength: 20
maxLength: 30
problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
maxItems: 128
items: object
attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

readOnlyResourceId

"string"

Read-only Resource Identifier (v1.0.1)

The unique, opaque system-assigned identifier for a resource. This case-sensitive ID is also used in URLs as path parameters or in other properties or parameters that reference a resource by ID rather than URL. Resource IDs are immutable.

type: string


read-only
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"

readOnlyTimestamp

"2021-10-30T19:06:04.250Z"

Read-Only Timestamp (v1.0.0)

A readonly or derived timestamp (an instant in time) formatted in RFC 3339 date-time UTC format: YYYY-MM-DDThh:mm:ss.sssZ.

type: string(date-time)


read-only
format: date-time
minLength: 20
maxLength: 30

requiredIdentityChallenge

{
  "operationId": "createTransfer",
  "challengeId": "0504076c566a3cf7009c",
  "factors": [
    {
      "type": "sms",
      "labels": [
        "9876"
      ],
      "id": "85c0ee5753fcd0b0953f"
    },
    {
      "type": "voice",
      "labels": [
        "9876"
      ],
      "id": "d089e10a80a8627df37b"
    },
    {
      "type": "voice",
      "labels": [
        "6754"
      ],
      "id": "10506ecf9d1c2ee00403"
    },
    {
      "type": "email",
      "labels": [
        "an****nk@example.com",
        "an****98@example.com"
      ],
      "id": "e917d671cb2f030b56f1"
    },
    {
      "type": "authenticatorToken",
      "labels": [
        "Acme fob"
      ],
      "id": "fe6c452d7da0bbb4e407"
    },
    {
      "type": "securityQuestions",
      "securityQuestions": {
        "questions": [
          {
            "id": "q1",
            "prompt": "What is your mother's maiden name?"
          },
          {
            "id": "q4",
            "prompt": "What is your high school's name?"
          },
          {
            "id": "q9",
            "prompt": "What is the name of your first pet?"
          }
        ]
      },
      "id": "df33c6f88a37d6b3f0a6"
    }
  ]
}

Required Challenge (v1.2.3)

A request from the service for the user to verify their identity. This contains a challenge ID, the corresponding operation ID, and a list of challenge factors for identity verification. The user must complete one of these challenge factors to satisfy the challenge. This schema defines the attributes in the 401 Unauthorized problem response when the 401 problem type name is challengeRequired. See the "Challenge API" for details.

Properties

NameDescription
Required Challenge (v1.2.3) object
A request from the service for the user to verify their identity. This contains a challenge ID, the corresponding operation ID, and a list of challenge factors for identity verification. The user must complete one of these challenge factors to satisfy the challenge. This schema defines the attributes in the 401 Unauthorized problem response when the 401 problem type name is challengeRequired. See the "Challenge API" for details.
operationId challengeOperationId (required)
The ID of an operation/action for which the user must verify their identity via an identity challenge. This is passed when starting a challenge factor or when validating the identity challenge responses.
minLength: 6
maxLength: 48
pattern: "^[-a-zA-Z0-9$_]{6,48}$"
challengeId readOnlyResourceId (required)
The unique ID of this challenge instance. This is an opaque string. This is passed when starting a challenge factor or when validating the identity challenge responses.
read-only
minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"
factors array: [challengeFactor] (required)
A list of challenge factors. The user must complete one of these challenge factors. The labels in each factor identify one or more channels the user may use, such as a list of email addresses the system may use to send a one-time passcode to the user. *Note: The same channel may be used by multiple factors in the array of factors. For example, the user's primary mobile phone number may be used for both an sms factor and a voice factor.
minItems: 1
maxItems: 8
items: object

resourceId

"string"

Resource Identifier (v1.0.1)

The unique, opaque system identifier for a resource. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.

type: string


minLength: 6
maxLength: 48
pattern: "^[-_:.~$a-zA-Z0-9]{6,48}$"


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