Shell HTTP Node.JS JavaScript Ruby Python Java Go

Apiture OIDC Provider - Clients v1.0.0

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

This OpenAPI fragment describes OIDC/OAuth client resource operations provided by the OIDC adapter. This file is merged with the other fragments to produce the full API specification.

Download OpenAPI Definition (YAML)

Base URLs:

Authentication

Scope Scope Description
clients/write modify clients
clients/read read clients

clients

Retrieves and updates OAuth client definitions

createClient

Code samples

# You can also use wget
curl -X POST http://localhost:3030/admin/clients \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST http://localhost:3030/admin/clients HTTP/1.1
Host: localhost:3030
Content-Type: application/json
Accept: application/json

const fetch = require('node-fetch');
const inputBody = '{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('http://localhost:3030/admin/clients',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'http://localhost:3030/admin/clients',
  method: 'post',

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

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'http://localhost:3030/admin/clients',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('http://localhost:3030/admin/clients', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://localhost:3030/admin/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:3030/admin/clients", data)
    req.Header = headers

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

Create new OIDC/OAuth Client

POST http://localhost:3030/admin/clients

Create new OIDC client definition

Body parameter

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600
}

Parameters

ParameterDescription
body client (required)

Example responses

200 Response

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Responses

StatusDescription
200 OK
Client definition
Schema: client
StatusDescription
400 Bad Request
Bad Request
Schema: errorResponse

listClients

Code samples

# You can also use wget
curl -X GET http://localhost:3030/admin/clients \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET http://localhost:3030/admin/clients HTTP/1.1
Host: localhost:3030
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('http://localhost:3030/admin/clients',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'http://localhost:3030/admin/clients',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'http://localhost:3030/admin/clients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('http://localhost:3030/admin/clients', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://localhost:3030/admin/clients");
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"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

List Clients

GET http://localhost:3030/admin/clients

List OIDC client definitions (all or filtered by Institution Id)

Parameters

ParameterDescription
institutionId institutionId

read-only
minLength: 1
maxLength: 8

Example responses

200 Response

[
  {
    "id": "7d32fe-client",
    "description": "HOACorp Finco development component client for live web site",
    "tokenAuth": "none",
    "applicationType": "web",
    "grantTypes": [
      "authorization_code"
    ],
    "responseType": "none",
    "redirectUrls": [
      "https://localhost:3030/callback",
      "https://production.org/callback"
    ],
    "logoutRedirectUrls": [
      "https://localhost:3030/logout",
      "https://production.org/logout"
    ],
    "corsUrls": [
      "https://localhost:3030/",
      "https://production.org/"
    ],
    "scopes": [
      "banking/read",
      "transfers/write"
    ],
    "securityInfo": [
      "string"
    ],
    "institutionId": "INSTID",
    "authMode": "customer",
    "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
    "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
    "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
    "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
    "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
    "componentHostPublicKey": "customer",
    "componentHostPrivateKey": "customer",
    "componentApiturePublicKey": "customer",
    "componentApiturePrivateKey": "customer",
    "componentMaxConnectionHours": 4320,
    "accessTokenTtlSec": 3600,
    "refreshTokenTtlSec": 3600,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
]

Responses

StatusDescription
200 OK
List of clients
Schema: Inline
StatusDescription
404 Not Found
Not Found. There is no client managed by the OIDC provider with the specified id.
Schema: errorResponse

Response Schema

Status Code 200

List of client definitions

Property Name Description
List of client definitions [client]
» Client client
»» id string
»» description string
»» tokenAuth string
»» applicationType string
»» grantTypes [string]
»» responseType string
»» redirectUrls [string]
»» logoutRedirectUrls [string]
»» corsUrls [string]
»» scopes [string]
»» securityInfo [string]
»» institutionId string

pattern: ^(*
»» authMode string

pattern: ^(customer
»» adbWebBaseUrl string

pattern: ^$
»» adbApiBaseUrl string

pattern: ^$
»» componentConnectUrl string

pattern: ^$
»» componentAuthUrl string

pattern: ^$
»» componentDisconnectUrl string

pattern: ^$
»» componentHostPublicKey string
»» componentHostPrivateKey string
»» componentApiturePublicKey string
»» componentApiturePrivateKey string
»» componentMaxConnectionHours integer
»» accessTokenTtlSec integer
»» refreshTokenTtlSec integer
»» createdAt string(date-time)
The date-time when the client was created.
»» updatedAt string(date-time)
The date-time when the client was updated.

Enumerated Values

Property Value
tokenAuth client_secret_basic
tokenAuth client_secret_post
tokenAuth client_secret_jwt
tokenAuth private_key_jwt
tokenAuth tls_client_auth
tokenAuth self_signed_tls_client_auth
tokenAuth none
applicationType web
applicationType native
responseType code
responseType id_token
responseType code id_token
responseType id_token token
responseType code token
responseType code id_token token
responseType none

getClient

Code samples

# You can also use wget
curl -X GET http://localhost:3030/admin/clients/{clientId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET http://localhost:3030/admin/clients/{clientId} HTTP/1.1
Host: localhost:3030
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('http://localhost:3030/admin/clients/{clientId}',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'http://localhost:3030/admin/clients/{clientId}',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'http://localhost:3030/admin/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('http://localhost:3030/admin/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://localhost:3030/admin/clients/{clientId}");
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"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:3030/admin/clients/{clientId}", data)
    req.Header = headers

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

Get Client

GET http://localhost:3030/admin/clients/{clientId}

Retrieve OIDC client definition by Client Id

Parameters

ParameterDescription
clientId clientId (required)

read-only
minLength: 1
maxLength: 100

Example responses

200 Response

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Responses

StatusDescription
200 OK
Client definition
Schema: client
StatusDescription
404 Not Found
Not Found. There is no client managed by the OIDC provider with the specified id.
Schema: errorResponse

patchClient

Code samples

# You can also use wget
curl -X PATCH http://localhost:3030/admin/clients/{clientId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH http://localhost:3030/admin/clients/{clientId} HTTP/1.1
Host: localhost:3030
Content-Type: application/json
Accept: application/json

const fetch = require('node-fetch');
const inputBody = '{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('http://localhost:3030/admin/clients/{clientId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'http://localhost:3030/admin/clients/{clientId}',
  method: 'patch',

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

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'http://localhost:3030/admin/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('http://localhost:3030/admin/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://localhost:3030/admin/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "http://localhost:3030/admin/clients/{clientId}", data)
    req.Header = headers

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

Patch Client

PATCH http://localhost:3030/admin/clients/{clientId}

Update OIDC client definition

Body parameter

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600
}

Parameters

ParameterDescription
clientId clientId (required)

read-only
minLength: 1
maxLength: 100
body client (required)

Example responses

200 Response

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Responses

StatusDescription
200 OK
Client definition
Schema: client
StatusDescription
404 Not Found
Not Found
Schema: errorResponse

deleteClient

Code samples

# You can also use wget
curl -X DELETE http://localhost:3030/admin/clients/{clientId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

DELETE http://localhost:3030/admin/clients/{clientId} HTTP/1.1
Host: localhost:3030
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('http://localhost:3030/admin/clients/{clientId}',
{
  method: 'DELETE',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'http://localhost:3030/admin/clients/{clientId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'http://localhost:3030/admin/clients/{clientId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('http://localhost:3030/admin/clients/{clientId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("http://localhost:3030/admin/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:3030/admin/clients/{clientId}", data)
    req.Header = headers

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

Delete Client

DELETE http://localhost:3030/admin/clients/{clientId}

Delete OIDC client definition

Parameters

ParameterDescription
clientId clientId (required)

read-only
minLength: 1
maxLength: 100

Example responses

200 Response

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Responses

StatusDescription
200 OK
Client definition
Schema: client
StatusDescription
404 Not Found
Not Found. There is no client managed by the OIDC provider with the specified id.
Schema: errorResponse

Schemas

abstractRequest

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

Abstract Request

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

Properties

NameDescription
_links object: 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.
read-only

abstractResource

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

Abstract Resource

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 _problem object. In responses, if the operation was successful, this object will not include the _problem, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _problem and optionally _links.

Properties

NameDescription
_links object: 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.
read-only
_problem object: problem
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

attributes

{}

Attributes

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

Properties

client

{
  "id": "7d32fe-client",
  "description": "HOACorp Finco development component client for live web site",
  "tokenAuth": "none",
  "applicationType": "web",
  "grantTypes": [
    "authorization_code"
  ],
  "responseType": "none",
  "redirectUrls": [
    "https://localhost:3030/callback",
    "https://production.org/callback"
  ],
  "logoutRedirectUrls": [
    "https://localhost:3030/logout",
    "https://production.org/logout"
  ],
  "corsUrls": [
    "https://localhost:3030/",
    "https://production.org/"
  ],
  "scopes": [
    "banking/read",
    "transfers/write"
  ],
  "securityInfo": [
    "string"
  ],
  "institutionId": "INSTID",
  "authMode": "customer",
  "adbWebBaseUrl": "https://dev-fxweb.apiture-comm-nonprod.com/piles/fxweb.pile",
  "adbApiBaseUrl": "https://dev-lb-fxws.apiture-comm-nonprod.com",
  "componentConnectUrl": "https://my.app.com/connect?arg=((connect))",
  "componentAuthUrl": "https://my.app.com/auth?arg=((auth))",
  "componentDisconnectUrl": "https://my.app.com/disconnect?arg=((connect))",
  "componentHostPublicKey": "customer",
  "componentHostPrivateKey": "customer",
  "componentApiturePublicKey": "customer",
  "componentApiturePrivateKey": "customer",
  "componentMaxConnectionHours": 4320,
  "accessTokenTtlSec": 3600,
  "refreshTokenTtlSec": 3600,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Client

Properties

NameDescription
id string
description string
tokenAuth string

enum values: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, tls_client_auth, self_signed_tls_client_auth, none
applicationType string

enum values: web, native
grantTypes array: [string]
responseType string

enum values: code, id_token, code id_token, id_token token, code token, code id_token token, none
redirectUrls array: [string]

items:
» pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
logoutRedirectUrls array: [string]

items:
» pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
corsUrls array: [string]

items:
» pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
scopes array: [string]
securityInfo array: [string]

items:
» pattern: ^(\*|[a-z]+)$
institutionId string

pattern: ^(\*|[A-Z]{1,8})$
authMode string

pattern: ^(customer|noauth|service|component)$
adbWebBaseUrl string

pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
adbApiBaseUrl string

pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
componentConnectUrl string

pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
componentAuthUrl string

pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
componentDisconnectUrl string

pattern: ^$|^https?:\/\/(\w|-)+(\.(\w|-)+)*(:[0-9]+)?(\/.*)?$
componentHostPublicKey string
componentHostPrivateKey string
componentApiturePublicKey string
componentApiturePrivateKey string
componentMaxConnectionHours integer
accessTokenTtlSec integer
refreshTokenTtlSec integer
createdAt string(date-time)
The date-time when the client was created.
read-only
updatedAt string(date-time)
The date-time when the client was updated.
read-only

clientId

"3abjbdk-opaque-id"

clientId

The client identifier associated with the OAuth/OIDC client.

Type: string
read-only
minLength: 1
maxLength: 100

errorResponse

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

Error Response

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

Properties

NameDescription
_links object: 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.
read-only
_problem object: problem
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

institutionId

"FOO"

institutionId

The institutionId Identifier for the organization

Type: string
read-only
minLength: 1
maxLength: 8

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

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.

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": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}

Links

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

NameDescription
additionalProperties object: 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.

problem

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

Error

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 object: 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.
problems array: [problem]
An optional array of nested error objects. This property is not always present.
_links object: links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.