Shell HTTP JavaScript Node.JS Ruby Python Java Go

Text v0.8.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.

Manage localizable and customizable text strings for client applications.

The Text API is a repository for customizable and localizable text strings which the financial institution may wish to customize in order to change their user experience. The primary consumer of this API is client applications.

Example of customizable text includes:

The Text API manages only static text that is part of the UX or clients, not dynamic changing text data (such as an banking product names, document names, description) provided by the services or the users.

Text Strings and Text String Groups

Text is organized into named groups of related strings. These groups often correspond to client application features, such as banking, transfers, or digital account opening. The special group name common represents content that is "common" to (or shared with) all other groups. Groups names may be nested logically. For example, the group common.fi is for text related to the financial institution within the common group.

Text strings may include references to other strings, including strings in other groups. For example, consider the message string

Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.supportLink_url}}

This template resolve to a string result such as

Contact 3rd Party Bank customer support at 555-555-1234 or [Support](https://www3rdparty.bank/support)

{{common.fi.supportNumber}} is an example of a string reference by a key which consists of a group name (common.fi) and string name (supportNumber). Unresolved references are left unexpanded. For example, if there is no string named support_url in the common.fi group, the above text string request returns

Contact 3rd Party Bank customer support at 555-555-1234 or {{common.fi.supportLink_url}}

The reserved group name _ is an alias for the current group. This allows text strings to easily reference other text strings in the group in a more concise manner. For example, if the text string

Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.supportLink_url}}

exists in the common.fi group, it could be coded as

Contact {{_.name}} customer support at {{_.supportNumber}} or {{_.supportLink_url}}

By convention, string references without group names (that is, those with the format {{name}}) are not expanded by the Text service and are left for client-side expansion using a client-supplied environment map of name/value pairs. The same is true for references {{groupId.textStringId}} where the named group or string are not defined.)

Text strings are referenced by a string ID, which must be a simple name:

name = [ letter | "_" ] ( letter | digit | "_" | "$" )*
textStringId = name

Text string names may end with a _ and a suffix which indicates the purpose or use of the text string. The Text API supports the following suffixes:

The maximum length of a text string is determined by the suffix (shown in parentheses above).

Client applications must render Markdown text values before presenting *_label, *_md and *_help text strings to the user. Web applications may format Markdown to HTML for example.

A group ID is a simple name or .-separated names for two- or three-level names such as level1.level2.level3.

groupId = name ( "." name ) {0,2}

The concatenation of the group ID and a period and the string ID is the string's key.

The service does not allow creating a group named local or starting with local.. Such groups are reserved for clients to resolve with client-local data.

Customization access controls

Different text groups are customizable by different audiences. Only Apiture Engineering may customize some text groups; Only Apiture Professional Services may customize some text groups; financial institutions may customize all other text groups.

Natural Language Support

Each text string can have different natural language variants, access by a language code. For example, a text string preferredAddressOption_label may have values for the RFC 3066 language identifiers es-MX, es-SP, fr, de, en-GB and en-US. The client specifies the preferred language when requesting text strings and The service follows locale inheritance rules when resolving the request. (See the GET /resolved (getResolvedText) operation below.)

For example, when asking for resolved text for es-MX, if a text string preferredAddressOption_label is not defined for es-MX, the service looks for a value for es, and if not defined for es, the service returns the value defined for the default locale. The default locale is en-US. The default locale-independent value for each text string must be defined when adding groups and text strings.

Presentation Format/Form Factors

Text also supports content that is specific to a format which represents different user experience form factors. A mobile app with a smaller screen format may require a different set of labels than those used for web or larger tablets. The service will also fall back from format-specific to format-agnostic labels.

The language and format are examples of optional text parameters.

The client can request text either by the URL path GET /groups/{groupId}/strings/{textStringId} or by requesting all text strings in one or more groups via GET /text/resolved?group=group1|group2|...|groupN or for all groups, GET /text/resolved. These operations support parameterization of the response with the ?format= query parameter and/or the ?languages= query parameter. Note that unlike many other Apiture APIs, the identifiers for groups and strings (groupId and textStringId) are names, not opaque resource IDs. Clients may use PUT to create or update new groups and new text strings within groups with client-supplied names rather than using POST to create resources and have the service generate the IDs.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
data/read Read access to text
admin/write Write (update) access to text
admin/delete Delete access to text
data/full Full access to text

Text

Text

getResolvedText

Code samples

# You can also use wget
curl -X GET /text/resolved \
  -H 'Accept: application/hal+json' \
  -H 'Accept-Language: string' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/resolved HTTP/1.1

Accept: application/hal+json
Accept-Language: string
If-None-Match: string

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

};

$.ajax({
  url: '/text/resolved',
  method: 'get',

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

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

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

};

fetch('/text/resolved',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/resolved',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/resolved', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/resolved");
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"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/resolved", data)
    req.Header = headers

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

GET /resolved

Return all text groups and text strings for the specified (or default) language and the specified (or default) client format. The strings are resolved by replacing string references (references have the form {{key}}) to other text strings with their corresponding values.

This operation is the primary operation that clients use to load the text strings to present to one end user, based on that user's preferred language and their device format.

Parameters

Parameter Description
format
(query)
string
Return text strings that match the named or default format (form factor). If no text for the requested format exists for a textStringId, the default text for that textStringId is returned.
Default: "small"
minLength: 4
maxLength: 10
pattern: ^[a-z][a-zA-Z0-9]{3,9}$
languages
(query)
array[string]
Return text strings that match the search priority of the given language tag(s). The array is ordered by highest to lowest preference. For example, for ?languages=es-MX,en-GB, the response will include text strings based on the following search priority: es-MXesen-GBen ⇒ `` (default)
Items are RFC 3066 language identifiers. If used, Accept-Language header is ignored. Language codes are case insensitive.
minItems: 1
maxItems: 6
Accept-Language
(header)
string
An HTTP Accept-Language request header which specifies one or more languages with weights. The response will include one string for each combination of group name and string name. This is ignored if ?languages= query parameter is used. Accept-Language is processed in a similar way as the language query parameter.
groups
(query)
array[string]
Subset the response to only text in the group or groups named in this parameter. Each item in the comma-separated list is a one-, two-, or three-level group name. Group names are case sensitive. The default is ?groups=common. Example: &groups=common,help,features.x,feature.y
minItems: 1
since
(query)
string(date-time)
Return only text strings whose updatedAt time-stamp are newer than the since date-time. If omitted, return all text strings The value is an RFC 3339 time stamp in YYYY-MM-DDThh:mm:ss.sssZ format.
resolve
(query)
boolean
If ?resolve=false, this operation does not resolve embedded {{key}} text string references.
Default: true
subgroups
(query)
boolean
If true, the response includes all subgroups of each group named in groups. This example may return the groups common and common.fi, common.print, and web.responsive but not the groups commonTrust or helpless.
Default: true
If-None-Match
(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.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/text/resolvedStrings/v1.1.0/profile.json",
  "format": "large",
  "languages": [
    "en-US",
    "en"
  ],
  "groups": {
    "common": {
      "greeting": "Welcome, {{user.preferredName}}"
    },
    "common.fi": {
      "name": "3rd Party Bank",
      "supportNumber": "555-555-1234",
      "support_url": "https://www3rdparty.bank/support",
      "supportLink_md": "[Support](https://www3rdparty.bank/support)",
      "support": "Contact 3rd Party Bank customer support at 555-555-1234 or https://www3rdparty.bank/support",
      "help_md": "For help, please visit [Our help page]({{common.fi.helpUrl}})"
    },
    "checkDeposit": {
      "title": "Remote Check Deposit",
      "scanFront": "Take an image of the front of the check",
      "scanBack": "Take an image of the back of the check"
    }
  },
  "unresolvedKeys": [
    "common.fi.helpUrl",
    "user.preferredName"
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: resolvedStrings
202 Accepted
Accepted. The request was accepted and the service is generating ghe response. The client should retry the event after a short interval until the request returns a 200 OK response.
Schema: resolvedStrings
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request
Bad Request. One of the request parameters was not well formed.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text format resource.
202 Retry-After string
Indicates a suggested delay in seconds after which the client should retry the operation, until the response code is 200. Example: Retry-After: 10

Text String

Text String

getStrings

Code samples

# You can also use wget
curl -X GET /text/groups/{groupId}/strings \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/groups/{groupId}/strings HTTP/1.1

Accept: application/hal+json
If-None-Match: string

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

};

$.ajax({
  url: '/text/groups/{groupId}/strings',
  method: 'get',

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

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

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

};

fetch('/text/groups/{groupId}/strings',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/groups/{groupId}/strings',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/groups/{groupId}/strings', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}/strings");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/groups/{groupId}/strings", data)
    req.Header = headers

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

Return a collection of text strings

GET /groups/{groupId}/strings

Return a collection of text strings within the group. Since the number of text strings in a group is relatively small, this operation does not implement pagination, sorting, filtering, or searching.

Parameters

Parameter Description
If-None-Match
(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.
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/text/textStrings/v1.1.0/profile.json",
  "name": "strings",
  "start": 0,
  "limit": 2,
  "count": 2,
  "_links": {
    "self": {
      "href": "/text/groups/common.fi/strings"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "name": "supportNumber",
          "values": [
            {
              "value": "(910) 999-9999",
              "format": "small"
            }
          ],
          "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/common.fi/strings/supportNumber"
            }
          }
        },
        {
          "name": "support_url",
          "values": [
            {
              "value": "https://www.3rdparty.bank/support",
              "format": "small"
            },
            {
              "value": "https://www.3rdparty.bank/es/support",
              "language": "es",
              "format": "small"
            },
            {
              "value": "https://www.3rdparty.bank/fr/support",
              "language": "fr",
              "format": "small"
            }
          ],
          "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/common.fi/strings/supportUrl"
            }
          }
        }
      ]
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: textStrings
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text format resource.

getString

Code samples

# You can also use wget
curl -X GET /text/groups/{groupId}/strings/{textStringId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/groups/{groupId}/strings/{textStringId} HTTP/1.1

Accept: application/hal+json
If-None-Match: string

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

};

$.ajax({
  url: '/text/groups/{groupId}/strings/{textStringId}',
  method: 'get',

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

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

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

};

fetch('/text/groups/{groupId}/strings/{textStringId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/groups/{groupId}/strings/{textStringId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/groups/{groupId}/strings/{textStringId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}/strings/{textStringId}");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/groups/{groupId}/strings/{textStringId}", data)
    req.Header = headers

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

Fetch a representation of this text string

GET /groups/{groupId}/strings/{textStringId}

Return a HAL representation of this text string resource.

Parameters

Parameter Description
If-None-Match
(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.
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$
textStringId
(path)
string (required)
The unique identifier (name) of this text string.
minLength: 2
maxLength: 32
pattern: ^[a-z][a-zA-Z0-9_$]{1,31}$

Try It

Example responses

200 Response

{
  "name": "contactSupport",
  "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "values": [
    {
      "value": "Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.support_url}}",
      "format": "large"
    },
    {
      "value": "Contact {{common.fi.name}} support at {{common.fi.support_url}}",
      "format": "small"
    },
    {
      "value": "Póngase en contacto con el servicio de atención al cliente de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "large",
      "language": "es"
    },
    {
      "value": "Póngase en contacto con el soporte de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "small",
      "language": "es"
    },
    {
      "value": "Contactez le support client {{common.fi.name}} au {{common.fi.supportNumber}} ou au {{common.fi.support_url}}",
      "format": "large",
      "language": "fr"
    },
    {
      "value": "Contacter le support {{common.fi.name}} au {{common.fi.support_url}}",
      "format": "small",
      "language": "fr"
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: textString
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such text string resource at the specified {textStringId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text string resource.

setString

Code samples

# You can also use wget
curl -X PUT /text/groups/{groupId}/strings/{textStringId} \
  -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 /text/groups/{groupId}/strings/{textStringId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

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

};

$.ajax({
  url: '/text/groups/{groupId}/strings/{textStringId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "name": "contactSupport",
  "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "values": [
    {
      "value": "Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.support_url}}",
      "format": "large"
    },
    {
      "value": "Contact {{common.fi.name}} support at {{common.fi.support_url}}",
      "format": "small"
    },
    {
      "value": "Póngase en contacto con el servicio de atención al cliente de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "large",
      "language": "es"
    },
    {
      "value": "Póngase en contacto con el soporte de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "small",
      "language": "es"
    },
    {
      "value": "Contactez le support client {{common.fi.name}} au {{common.fi.supportNumber}} ou au {{common.fi.support_url}}",
      "format": "large",
      "language": "fr"
    },
    {
      "value": "Contacter le support {{common.fi.name}} au {{common.fi.support_url}}",
      "format": "small",
      "language": "fr"
    }
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/text/groups/{groupId}/strings/{textStringId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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 '/text/groups/{groupId}/strings/{textStringId}',
  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('/text/groups/{groupId}/strings/{textStringId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}/strings/{textStringId}");
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", "/text/groups/{groupId}/strings/{textStringId}", data)
    req.Header = headers

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

Create or update a text string

PUT /groups/{groupId}/strings/{textStringId}

Create a new text with the textStringId name if one did not already exist, or update the properties of an existing text string. This operation is limited to administrative use.

Body parameter

{
  "name": "contactSupport",
  "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "values": [
    {
      "value": "Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.support_url}}",
      "format": "large"
    },
    {
      "value": "Contact {{common.fi.name}} support at {{common.fi.support_url}}",
      "format": "small"
    },
    {
      "value": "Póngase en contacto con el servicio de atención al cliente de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "large",
      "language": "es"
    },
    {
      "value": "Póngase en contacto con el soporte de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "small",
      "language": "es"
    },
    {
      "value": "Contactez le support client {{common.fi.name}} au {{common.fi.supportNumber}} ou au {{common.fi.support_url}}",
      "format": "large",
      "language": "fr"
    },
    {
      "value": "Contacter le support {{common.fi.name}} au {{common.fi.support_url}}",
      "format": "small",
      "language": "fr"
    }
  ]
}

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body
(body)
textString (required)
A text string and variants for different languages and client formats.
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$
textStringId
(path)
string (required)
The unique identifier (name) of this text string.
minLength: 2
maxLength: 32
pattern: ^[a-z][a-zA-Z0-9_$]{1,31}$

Try It

Example responses

200 Response

{
  "name": "contactSupport",
  "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "values": [
    {
      "value": "Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.support_url}}",
      "format": "large"
    },
    {
      "value": "Contact {{common.fi.name}} support at {{common.fi.support_url}}",
      "format": "small"
    },
    {
      "value": "Póngase en contacto con el servicio de atención al cliente de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "large",
      "language": "es"
    },
    {
      "value": "Póngase en contacto con el soporte de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "small",
      "language": "es"
    },
    {
      "value": "Contactez le support client {{common.fi.name}} au {{common.fi.supportNumber}} ou au {{common.fi.support_url}}",
      "format": "large",
      "language": "fr"
    },
    {
      "value": "Contacter le support {{common.fi.name}} au {{common.fi.support_url}}",
      "format": "small",
      "language": "fr"
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: textString
201 Created
Created. A new text string was added to the group.
Schema: textString
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict
Conflict: The value contains a string reference that would result in a circular reference.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity: When creating or updating a string, the request contains an invalid string representation.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text string resource.
201 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 text string resource.
201 Location string uri
The URI of the new string resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host

deleteString

Code samples

# You can also use wget
curl -X DELETE /text/groups/{groupId}/strings/{textStringId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE /text/groups/{groupId}/strings/{textStringId} HTTP/1.1

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

};

$.ajax({
  url: '/text/groups/{groupId}/strings/{textStringId}',
  method: 'delete',

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

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

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

};

fetch('/text/groups/{groupId}/strings/{textStringId}',
{
  method: 'DELETE',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete '/text/groups/{groupId}/strings/{textStringId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('/text/groups/{groupId}/strings/{textStringId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}/strings/{textStringId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/text/groups/{groupId}/strings/{textStringId}", data)
    req.Header = headers

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

Delete this text string resource

DELETE /groups/{groupId}/strings/{textStringId}

Delete this text string resource and any resources that are owned by it. This operation is limited to administrative use.

Parameters

Parameter Description
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$
textStringId
(path)
string (required)
The unique identifier (name) of this text string.
minLength: 2
maxLength: 32
pattern: ^[a-z][a-zA-Z0-9_$]{1,31}$

Try It

Responses

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

Text Group

Group of Text Strings

getGroups

Code samples

# You can also use wget
curl -X GET /text/groups \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/groups HTTP/1.1

Accept: application/hal+json
If-None-Match: string

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

};

$.ajax({
  url: '/text/groups',
  method: 'get',

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

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

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

};

fetch('/text/groups',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/groups',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/groups', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/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"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/groups", data)
    req.Header = headers

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

Return a collection of text groups

GET /groups

Return the collection of text groups. Since the number of groups is relatively small, this operation does not implement pagination, sorting, filtering, or searching.

Parameters

Parameter Description
If-None-Match
(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.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/text/groups/v1.0.0/profile.json",
  "name": "groups",
  "start": 0,
  "limit": 32,
  "count": 32,
  "_links": {
    "self": {
      "href": "/text/groups"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "name": "common.fi",
          "description": "General text which pertains to the financial institution.",
          "immutable": false,
          "updatedAt": "2019-11-18T11:23:16.375Z",
          "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/common.fi"
            }
          }
        },
        {
          "name": "help",
          "description": "Strings that represents in-application help text, such as tool tips.",
          "immutable": false,
          "updatedAt": "2019-11-20T12:36:02.375Z",
          "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/help"
            }
          }
        }
      ]
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: groups
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 or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity: Invalid query parameters when fetching groups.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text format resource.

getGroup

Code samples

# You can also use wget
curl -X GET /text/groups/{groupId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/groups/{groupId} HTTP/1.1

Accept: application/hal+json
If-None-Match: string

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

};

$.ajax({
  url: '/text/groups/{groupId}',
  method: 'get',

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

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

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

};

fetch('/text/groups/{groupId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/groups/{groupId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/groups/{groupId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/groups/{groupId}", data)
    req.Header = headers

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

Fetch a representation of this text group

GET /groups/{groupId}

Return a HAL representation of this text group resource.

Parameters

Parameter Description
If-None-Match
(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.
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
  "name": "common.fi",
  "description": "General text which pertains to the financial institution.",
  "immutable": false,
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "_links": {
    "self": {
      "href": "/text/groups/common.fi"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: group
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such text group resource at the specified {groupId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text group resource.

setGroup

Code samples

# You can also use wget
curl -X PUT /text/groups/{groupId} \
  -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 /text/groups/{groupId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

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

};

$.ajax({
  url: '/text/groups/{groupId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
  "name": "common.fi",
  "description": "General text which pertains to the financial institution.",
  "immutable": false,
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "_links": {
    "self": {
      "href": "/text/groups/common.fi"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/text/groups/{groupId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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 '/text/groups/{groupId}',
  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('/text/groups/{groupId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}");
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", "/text/groups/{groupId}", data)
    req.Header = headers

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

Create or update a text group

PUT /groups/{groupId}

Create a text group, or update an existing text group's properties.

Body parameter

{
  "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
  "name": "common.fi",
  "description": "General text which pertains to the financial institution.",
  "immutable": false,
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "_links": {
    "self": {
      "href": "/text/groups/common.fi"
    }
  }
}

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body
(body)
group (required)
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
  "name": "common.fi",
  "description": "General text which pertains to the financial institution.",
  "immutable": false,
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "_links": {
    "self": {
      "href": "/text/groups/common.fi"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: group
201 Created
Created. A new text group was created.
Schema: group
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such text group resource at the specified {groupId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict
Conflict.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity: When creating or updating a group, the request contains an invalid group definition.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text group resource.
201 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 text group resource.
201 Location string uri
The URI of the new string resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host

deleteGroup

Code samples

# You can also use wget
curl -X DELETE /text/groups/{groupId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE /text/groups/{groupId} HTTP/1.1

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

};

$.ajax({
  url: '/text/groups/{groupId}',
  method: 'delete',

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

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

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

};

fetch('/text/groups/{groupId}',
{
  method: 'DELETE',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete '/text/groups/{groupId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('/text/groups/{groupId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/groups/{groupId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/text/groups/{groupId}", data)
    req.Header = headers

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

Delete this text group resource

DELETE /groups/{groupId}

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

Parameters

Parameter Description
groupId
(path)
string (required)
The unique identifier (name) of this text group.
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$

Try It

Responses

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

Text Format

Target Client Text Formats

getFormats

Code samples

# You can also use wget
curl -X GET /text/formats \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/formats HTTP/1.1

Accept: application/hal+json
If-None-Match: string

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

};

$.ajax({
  url: '/text/formats',
  method: 'get',

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

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

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

};

fetch('/text/formats',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/formats',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/formats', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/formats");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/formats", data)
    req.Header = headers

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

Return a collection of text formats

GET /formats

Return a collection of text formats. The Text service has default formats named small and large.

Parameters

Parameter Description
If-None-Match
(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.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/text/formats/v1.0.0/profile.json",
  "name": "formats",
  "start": 0,
  "limit": 2,
  "count": 2,
  "_links": {
    "self": {
      "href": "/text/formats"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "name": "small",
          "description": "Small or limited screen real estate, such as a hand held smartphone.",
          "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/formats/small"
            }
          }
        },
        {
          "name": "large",
          "description": "A large format device with generous screen real estate, such as a desktop or laptop application or browser.",
          "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/formats/large"
            }
          }
        }
      ]
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: formats
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 or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text format resource.

getFormat

Code samples

# You can also use wget
curl -X GET /text/formats/{formatId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /text/formats/{formatId} HTTP/1.1

Accept: application/hal+json
If-None-Match: string

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

};

$.ajax({
  url: '/text/formats/{formatId}',
  method: 'get',

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

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

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

};

fetch('/text/formats/{formatId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/formats/{formatId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/formats/{formatId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/formats/{formatId}");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/text/formats/{formatId}", data)
    req.Header = headers

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

Fetch a representation of this text format

GET /formats/{formatId}

Return a HAL representation of this text format resource.

Parameters

Parameter Description
formatId
(path)
string (required)
The unique identifier (name) of this text format.
minLength: 4
maxLength: 10
pattern: ^[a-z][a-zA-Z0-9]{3,9}$
If-None-Match
(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.

Try It

Example responses

200 Response

{
  "name": "small",
  "description": "Small or limited screen real estate, such as a hand held smartphone.",
  "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json"
}

Responses

StatusDescription
200 OK
OK
Schema: format
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such text format resource at the specified {formatId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text format resource.

setFormat

Code samples

# You can also use wget
curl -X PUT /text/formats/{formatId} \
  -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 /text/formats/{formatId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

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

};

$.ajax({
  url: '/text/formats/{formatId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "name": "small",
  "description": "Small or limited screen real estate, such as a hand held smartphone.",
  "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/text/formats/{formatId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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 '/text/formats/{formatId}',
  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('/text/formats/{formatId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/formats/{formatId}");
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", "/text/formats/{formatId}", data)
    req.Header = headers

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

Update or create a text format

PUT /formats/{formatId}

Perform a complete replacement of this text format.

Body parameter

{
  "name": "small",
  "description": "Small or limited screen real estate, such as a hand held smartphone.",
  "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json"
}

Parameters

Parameter Description
formatId
(path)
string (required)
The unique identifier (name) of this text format.
minLength: 4
maxLength: 10
pattern: ^[a-z][a-zA-Z0-9]{3,9}$
If-Match
(header)
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body
(body)
format (required)

Try It

Example responses

200 Response

{
  "name": "small",
  "description": "Small or limited screen real estate, such as a hand held smartphone.",
  "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json"
}

Responses

StatusDescription
200 OK
OK
Schema: format
201 Created
Created. A new format was created.
Schema: format
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such text format resource at the specified {formatId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity: When creating or updating a string format, the request contains one or more invalid format definitions.
Schema: errorResponse

Response Headers

StatusDescription
200 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 text format resource.
201 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 text format resource.
201 Location string uri
The URI of the new string resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host

API

The Text API

getApi

Code samples

# You can also use wget
curl -X GET /text/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET /text/ HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/text/',
  method: 'get',

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

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

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

};

fetch('/text/',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/");
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", "/text/", data)
    req.Header = headers

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

Top-level resources and operations in this API

GET /

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

Try It

Example responses

200 Response

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
  "_links": {}
}

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET /text/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET /text/apiDoc HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/text/apiDoc',
  method: 'get',

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

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

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

};

fetch('/text/apiDoc',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/text/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/text/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("/text/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", "/text/apiDoc", data)
    req.Header = headers

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

Return API definition document

GET /apiDoc

Return the OpenAPI document that describes this API.

Try It

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Schemas

abstractRequest

{
  "_profile": "{uri of resource profile.json}",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

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.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.

abstractResource

{
  "_profile": "{uri of resource profile.json}",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Resource (v2.0.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.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

attributeValue

{}

Attribute Value (v2.0.0)

The data associated with this attribute.

Properties

attributes

{
  "property1": {},
  "property2": {}
}

Attributes (v2.0.0)

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

Properties

NameDescription
additionalProperties attributeValue
The data associated with this attribute.

collection

{
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection (v2.0.0)

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

Properties

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

error

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

Error (v2.0.0)

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

Properties

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

errorResponse

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "The value for deposit must be greater than 0.",
    "statusCode": 422,
    "type": "positiveNumberRequired",
    "attributes": {
      "value": -125.5
    },
    "remediation": "Provide a value which is greater than 0",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://api.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response (v2.0.0)

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

format

{
  "name": "small",
  "description": "Small or limited screen real estate, such as a hand held smartphone.",
  "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json"
}

Text Format

Representation of text format resources. Text formats represent client-side presentation formats, such as small for a display with limited screen real estate, or large for a display with generous screen real estate. The text service supports small and large, and small is the default format.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name number (required)
The name of this text format. This is the format ID. Names are case sensitive. type: string
minLength: 4
maxLength: 10
pattern: ^[a-z][a-zA-Z0-9]{3,9}$
description string (required)
The description of this text string format.
minLength: 8
maxLength: 256

formats

{
  "_profile": "https://api.apiture.com/schemas/text/formats/v1.0.0/profile.json",
  "name": "formats",
  "start": 0,
  "limit": 2,
  "count": 2,
  "_links": {
    "self": {
      "href": "/text/formats"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "name": "small",
          "description": "Small or limited screen real estate, such as a hand held smartphone.",
          "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/formats/small"
            }
          }
        },
        {
          "name": "large",
          "description": "A large format device with generous screen real estate, such as a desktop or laptop application or browser.",
          "_profile": "https://api.apiture.com/schemas/text/format/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/formats/large"
            }
          }
        }
      ]
    }
  }
}

Text Format Collection

Collection of text formats. The items in the collection are ordered in the _embedded.items array; the name is formats. This collection is small and thus does not support pagination links.

Properties

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

group

{
  "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
  "name": "common.fi",
  "description": "General text which pertains to the financial institution.",
  "immutable": false,
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "_links": {
    "self": {
      "href": "/text/groups/common.fi"
    }
  }
}

Text Group

A text group is a named set of related text strings.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string (required)
The name of this text group. This is the group ID. The name of a group is a simple identifier name such as common (up to 16 alphanumeric characters) or a two- or three-level name such as common.fi or address.line1Label where each level name is a simple identifier of 1 to 16 alphanumeric characters. Group names are case sensitive
minLength: 2
maxLength: 50
pattern: ^[a-z][a-zA-Z0-9_$]{0,15}(\.[a-z][a-zA-Z0-9_$]{0,15}){0,2}$
description string (required)
The description of this text string format.
minLength: 8
maxLength: 256
immutable boolean
This group is immutable.
Default: false
updatedAt string(date-time)
The date-time when this group (or any text strings in it) was last modified. This is in RFC 3339 UTC format.
read-only

groups

{
  "_profile": "https://api.apiture.com/schemas/text/groups/v1.0.0/profile.json",
  "name": "groups",
  "start": 0,
  "limit": 32,
  "count": 32,
  "_links": {
    "self": {
      "href": "/text/groups"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "name": "common.fi",
          "description": "General text which pertains to the financial institution.",
          "immutable": false,
          "updatedAt": "2019-11-18T11:23:16.375Z",
          "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/common.fi"
            }
          }
        },
        {
          "name": "help",
          "description": "Strings that represents in-application help text, such as tool tips.",
          "immutable": false,
          "updatedAt": "2019-11-20T12:36:02.375Z",
          "_profile": "https://api.apiture.com/schemas/text/group/v1.0.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/help"
            }
          }
        }
      ]
    }
  }
}

Text Group Collection

Collection of text groups. The items in the collection are ordered in the _embedded.items array; the name is groups.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
» items [group]
An array containing text group items.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

{
  "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Applicant"
}

Link (v1.0.0)

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

Properties

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

{
  "property1": {
    "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Applicant"
  },
  "property2": {
    "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Applicant"
  }
}

Links (v1.0.0)

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

Properties

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

resolvedGroup

{
  "name": "3rd Party Bank",
  "supportNumber": "555-555-1234",
  "support_url": "https://www3rdparty.bank/support",
  "supportLink_md": "[Support](https://www3rdparty.bank/support)",
  "support": "Contact 3rd Party Bank customer support at 555-555-1234 or https://www3rdparty.bank/support",
  "help_md": "For more help, please visit [Our help page](https://www3rdparty.bank/help)"
}

Resolved Group

A resolved group of text string values for a specific language or set of languages and format. The keys in this object are group IDs such as common, common.fi, or checkDeposit. The values map string IDs to simple strings objects, with any resolvable text string references replaced by their values. In the example below, there is no text string user.preferredName so it is left unresolved.

Properties

NameDescription
additionalProperties string

resolvedStrings

{
  "_profile": "https://api.apiture.com/schemas/text/resolvedStrings/v1.1.0/profile.json",
  "format": "large",
  "languages": [
    "en-US",
    "en"
  ],
  "groups": {
    "common": {
      "greeting": "Welcome, {{user.preferredName}}"
    },
    "common.fi": {
      "name": "3rd Party Bank",
      "supportNumber": "555-555-1234",
      "support_url": "https://www3rdparty.bank/support",
      "supportLink_md": "[Support](https://www3rdparty.bank/support)",
      "support": "Contact 3rd Party Bank customer support at 555-555-1234 or https://www3rdparty.bank/support",
      "help_md": "For help, please visit [Our help page]({{common.fi.helpUrl}})"
    },
    "checkDeposit": {
      "title": "Remote Check Deposit",
      "scanFront": "Take an image of the front of the check",
      "scanBack": "Take an image of the back of the check"
    }
  },
  "unresolvedKeys": [
    "common.fi.helpUrl",
    "user.preferredName"
  ]
}

Resolved Strings

Resolved text string items for a specific language or set of languages and format. This contains groups which is a map of maps. The outer map has group names as keys and inner maps as values; the inner maps have text string names as keys and raw string values as the values. These are very light-weight representations if groups and text strings.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
format string (required)
The value of the format query parameter (or the default) used when requesting the resolved text.
minLength: 4
maxLength: 10
pattern: ^[a-z][a-zA-Z0-9]{3,9}$
languages [string] (required)
The language(s) from which the returned text strings are resolved.
groups object
The map of group IDs to resolved strings in that group.
» additionalProperties resolvedGroup
A resolved group of text string values for a specific language or set of languages and format. The keys in this object are group IDs such as common, common.fi, or checkDeposit. The values map string IDs to simple strings objects, with any resolvable text string references replaced by their values. In the example below, there is no text string user.preferredName so it is left unresolved.
unresolvedKeys [string]
A list of string keys (groupId + . + textStringId) which were referenced in groups strings but which are not resolved either because the groupId was not defined, or the textStringId was not defined in the group named by the key.

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
  "_links": {}
}

API Root (v2.0.0)

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

Properties

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

textString

{
  "name": "contactSupport",
  "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
  "updatedAt": "2019-11-18T11:23:16.375Z",
  "values": [
    {
      "value": "Contact {{common.fi.name}} customer support at {{common.fi.supportNumber}} or {{common.fi.support_url}}",
      "format": "large"
    },
    {
      "value": "Contact {{common.fi.name}} support at {{common.fi.support_url}}",
      "format": "small"
    },
    {
      "value": "Póngase en contacto con el servicio de atención al cliente de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "large",
      "language": "es"
    },
    {
      "value": "Póngase en contacto con el soporte de {{common.fi.name}} en {{common.fi.supportNumber}} o {{common.fi.support_url}}",
      "format": "small",
      "language": "es"
    },
    {
      "value": "Contactez le support client {{common.fi.name}} au {{common.fi.supportNumber}} ou au {{common.fi.support_url}}",
      "format": "large",
      "language": "fr"
    },
    {
      "value": "Contacter le support {{common.fi.name}} au {{common.fi.support_url}}",
      "format": "small",
      "language": "fr"
    }
  ]
}

Text String

A named text string within a group. Each text string contains one or more values, parameterized by an optional language code and format code. Items without a language and format serve as default values which are used if no item matches the requested language and format. The text string's values must include exactly one default item with no language and format. No two values may have the same format and language.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The name of this text string. The name must be unique within the group.
minLength: 2
maxLength: 32
pattern: ^[a-z][a-zA-Z0-9_$]{1,31}$
values [textStringItem]
String values for each combination of format and language.
updatedAt string(date-time)
The date-time when this text string was last modified. This is in RFC 3339 UTC format.
read-only

textStringItem

{
  "value": "Contactez le support client {{common.fi.name}} au {{common.fi.supportNumber}} ou au {{common.fi.support_url}}",
  "format": "large",
  "language": "fr"
}

Text String Item

A since string value, corresponding to a textStringId, language code, and a format code. One or more text string items form a textString object with a shared textStringId.

Properties

NameDescription
value string (required)
The text value of this string.
maxLength: 4096
language string(language)
The RFC 3066 language identifier for this string item. If omitted on this instance, this is a default text string item to be used if no other items match a request. Language codes are case insensitive.
minLength: 2
maxLength: 8
pattern: ^[a-z]{2,3}(-[a-zA-Z0-9]{2,4})?$
format string
The name of a format (or form factor) of the client user experience that this string item best matches. If omitted, this is a default string item to be used if no other items match a request. If specified, this must be the ID of a format resource at /text/formats/{formatId}, such as small or large.
minLength: 4
maxLength: 10
pattern: ^[a-z][a-zA-Z0-9]{3,9}$

textStrings

{
  "_profile": "https://api.apiture.com/schemas/text/textStrings/v1.1.0/profile.json",
  "name": "strings",
  "start": 0,
  "limit": 2,
  "count": 2,
  "_links": {
    "self": {
      "href": "/text/groups/common.fi/strings"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "name": "supportNumber",
          "values": [
            {
              "value": "(910) 999-9999",
              "format": "small"
            }
          ],
          "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/common.fi/strings/supportNumber"
            }
          }
        },
        {
          "name": "support_url",
          "values": [
            {
              "value": "https://www.3rdparty.bank/support",
              "format": "small"
            },
            {
              "value": "https://www.3rdparty.bank/es/support",
              "language": "es",
              "format": "small"
            },
            {
              "value": "https://www.3rdparty.bank/fr/support",
              "language": "fr",
              "format": "small"
            }
          ],
          "_profile": "https://api.apiture.com/schemas/text/textString/v1.1.0/profile.json",
          "_links": {
            "self": {
              "href": "/text/groups/common.fi/strings/supportUrl"
            }
          }
        }
      ]
    }
  }
}

Text String Collection

Collection of text strings. The items in the collection are ordered in the _embedded.items array; the name is strings.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
» items [textString]
An array containing text string items.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.