Overview

HTTP verbs

Management API tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP verbs.

Verb Usage

GET

Used to retrieve a resource

POST

Used to create a new resource

PATCH

Used to update an existing resource, including partial updates

DELETE

Used to delete an existing resource

HTTP status codes

Management API tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP status codes.

Status code Usage

200 OK

The request completed successfully

201 Created

A new resource has been created successfully. The resource’s URI is available from the response’s Location header

204 No Content

An update to an existing resource has been applied successfully

400 Bad Request

The request was malformed. The response body will include an error providing further information

404 Not Found

The requested resource did not exist

Errors

Whenever an error response (status code >= 400) is returned, the body will contain a JSON object that describes the problem. The error object has the following structure:

Path Type Description

message

String

A description of the cause of the error

status

String

The HTTP error that occurred, e.g. BAD_REQUEST

errors

Array

A list of errors containing the description of the cause of the errors

For example, a request that attempts to create a Tenant without a body will produce a 400 Bad Request response:

HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 175

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Invalid request body. Please check API docs for building correct request." ],
  "subErrors" : null
}

Inconsistent Errors

With API version 7.0.0 the all error responses have been replaced with the consistent format as described in Inconsistent Errors section.

Application Information

Management API is a Spring Boot application. In order to access general information regarding name, version, etc. please use the bellow request to do so:

GET /info HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

The response will have the following format:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 135

{
  "name" : "axual-flux",
  "description" : "Platform Manager API - provides APIs to operate Axual resources",
  "version" : "8.4.0"
}

API changelog

Please refer to API changelog to see the changelog with all bumped APIs in detail.

Deprecated APIs

Please refer to Deprecated APIs to see the list of deprecated APIs and their introduced alternatives.

Supported Databases

Management API uses Flyway to perform database migration.

We currently support:

Provider Version

MariaDB

10.2

MariaDB

10.3

MySQL

8.0

Hypermedia

Management API uses hypermedia and resources include links to other resources in their responses. Responses are in Hypertext Application from resource to resource. Language (HAL) format. Links can be found beneath the _links key. Users of the API should not create URIs themselves, instead they should use the above-described links to navigate

Paging

All collection resources return results with pagination. Pagination is also supported for search endpoints.

To access the first page of the results, call the endpoint with ?page=0 or nothing at all. This will return by default a maximum of 20 results per page. To change this value, specify size=10 to return 10 results per page.

The response includes various helper links to easily navigate between pages via prev and next link and jump to first and last page.

A JSON object page at the end of the response summarizes the current page, total number of elements and other relevant details.

See below example for more details.

Query parameters

Parameter Description

page

The page to retrieve

size

Number of entries per page, default value is 20

HTTP request

GET /tenants?page=0&size=5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 6435

{
  "_embedded" : {
    "tenants" : [ {
      "properties" : { },
      "name" : "Super Test Tenant",
      "shortName" : "supertenant",
      "uniqueConsumerGroup" : true,
      "logo" : "supertenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/supertenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c24cad8d9c97faa5a375ac",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Clean Tenant cc",
      "shortName" : "clntntcc",
      "uniqueConsumerGroup" : true,
      "logo" : "clean.png",
      "issuerUrl" : "http://api.example.com/auth/realms/clntntcc",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c42ha69d9c97f420a375ac",
      "created_at" : "2023-03-10T03:16:23",
      "modified_at" : "2023-03-10T03:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "BYOK Tenant",
      "shortName" : "BYOKtenant",
      "uniqueConsumerGroup" : true,
      "logo" : "BYOKtenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c42had8d9c97faa5a375ac",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Limited BYOK Tenant",
      "shortName" : "LmtBYOKtnt",
      "uniqueConsumerGroup" : false,
      "logo" : "BYOKtenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/limitedBYOKtenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1248c97f04c42had8d9c97faa5a375bd",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Clean Tenant aiven",
      "shortName" : "clntnt",
      "uniqueConsumerGroup" : true,
      "logo" : "clean.png",
      "issuerUrl" : "http://api.example.com/auth/realms/clntnt",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1259c97f04c42ha69d9c97f420a375ac",
      "created_at" : "2023-03-10T03:16:23",
      "modified_at" : "2023-03-10T03:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 5,
    "totalElements" : 10,
    "totalPages" : 2,
    "number" : 0
  }
}
Relation Description

first

The first page of results

last

The last page of results

next

The next page of results

prev

The previous page of results

Response fields

Path Type Description

_embedded

Object

List of results

_links

Object

Links to other resources and pages

page

Object

Summary of current page results

page.size

Number

Number of results in current page

page.totalElements

Number

Total number of results available

page.totalPages

Number

Total pages available

page.number

Number

Current page number (starting with zero)

Sorting

The keyword sort can be used on collection resources and search endpoints to sort on given field name. Using the keyword asc or desc, the direction of sorting can be changed.

Multiple fields can be used for sorting by using the request parameter ?sort=PROPERTY1&sort=PROPERTY2 and so on.

Query parameters

Parameter Description

sort

The field to sort on. Multiple fields can be specified by adding &sort=PROPERTY. To change the direction append a , to the property name plus either asc or desc

HTTP request

GET /tenants?sort=shortName&size=5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 6435

{
  "_embedded" : {
    "tenants" : [ {
      "properties" : { },
      "name" : "BYOK Tenant",
      "shortName" : "BYOKtenant",
      "uniqueConsumerGroup" : true,
      "logo" : "BYOKtenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c42had8d9c97faa5a375ac",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Clean Tenant aiven",
      "shortName" : "clntnt",
      "uniqueConsumerGroup" : true,
      "logo" : "clean.png",
      "issuerUrl" : "http://api.example.com/auth/realms/clntnt",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1259c97f04c42ha69d9c97f420a375ac",
      "created_at" : "2023-03-10T03:16:23",
      "modified_at" : "2023-03-10T03:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Clean Tenant cc",
      "shortName" : "clntntcc",
      "uniqueConsumerGroup" : true,
      "logo" : "clean.png",
      "issuerUrl" : "http://api.example.com/auth/realms/clntntcc",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c42ha69d9c97f420a375ac",
      "created_at" : "2023-03-10T03:16:23",
      "modified_at" : "2023-03-10T03:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Limited BYOK Tenant",
      "shortName" : "LmtBYOKtnt",
      "uniqueConsumerGroup" : false,
      "logo" : "BYOKtenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/limitedBYOKtenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1248c97f04c42had8d9c97faa5a375bd",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Super Test Tenant",
      "shortName" : "supertenant",
      "uniqueConsumerGroup" : true,
      "logo" : "supertenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/supertenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c24cad8d9c97faa5a375ac",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 5,
    "totalElements" : 10,
    "totalPages" : 2,
    "number" : 0
  }
}

Security

Authentication

Axual is using Bearer Authentication. Every request must be authenticated.

Get the Bearer token:

curl --request POST \
 --url https://<your-installation-host>/auth/realms/<your-realm>/protocol/openid-connect/token \
 --header 'Content-Type: application/x-www-form-urlencoded' \
 --data client_id=self-service \
 --data username=<username> \
 --data password=<password> \
 --data realm=<your-realm> \
 --data grant_type=password

After any Bearer token request, the response will contain an access_token which can be used as Bearer token in subsequent calls.

In the previous example request the API expects a POST body with username, password and realm fields.

Pass the Bearer token in the Authorization header:

curl -H 'Accept: application/json' -H "Authorization: {Bearer token}" https://{hostname}/api/myresource

Example GET request:

Curl request

$ curl 'http://api.example.com/applications' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

Example POST request:

Curl request

$ curl 'http://api.example.com/applications' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "applicationId" : "com.axual.turbulence.connector.application1",
  "name" : "Test Connector Application",
  "shortName" : "test_cnnt_app",
  "description" : "This is a connector test application",
  "applicationType" : "CONNECTOR",
  "type" : "sink",
  "applicationClass" : "io.axual.distributor.logger.MessageLogger",
  "applicationClassVersion" : "1.0.0",
  "visibility" : "PRIVATE",
  "owners" : "http://api.example.com/groups/514d4oit834841869644c2ad8b439997"
}'

Get the authenticated user

GET /user

Returns all available information about the currently authenticated user.

GET /user HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1161

{
  "firstName" : "powerUser",
  "lastName" : "powerUser",
  "middleName" : null,
  "emailAddress" : {
    "email" : "poweruser@tenanta.nl"
  },
  "phoneNumber" : null,
  "roles" : [ {
    "name" : "STREAM_ADMIN"
  }, {
    "name" : "TENANT_ADMIN"
  }, {
    "name" : "APPLICATION_ADMIN"
  }, {
    "name" : "ENVIRONMENT_ADMIN"
  }, {
    "name" : "SUPER_ADMIN"
  } ],
  "fullName" : "powerUser powerUser",
  "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "user" : {
      "href" : "...",
      "templated" : true,
      "title" : "A user"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "assign_roles" : {
      "href" : "...",
      "title" : "Indication that authenticated user can assign roles to this user"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Get my groups

Returns all groups that currently authenticated user belongs to.

GET /group HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1444

{
  "_embedded" : {
    "groups" : [ {
      "name" : "Application-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "Stream-tenAApplication2",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "88eb98e0eff34fde923c15687e6d75d5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}
Get my groups by name

Returns all groups that currently authenticated user belongs to by passing the name.

Query parameters
Parameter Description

name

Property is to search by group name

HTTP request
GET /group?name=Stream-tenAApplication2 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 847

{
  "_embedded" : {
    "groups" : [ {
      "name" : "Stream-tenAApplication2",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "88eb98e0eff34fde923c15687e6d75d5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Get the authenticated tenant

GET /tenant

Returns the tenant of the logged-in user.

GET /tenant HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1024

{
  "properties" : {
    "replication.factor" : "1",
    "cleanup.policy" : "delete",
    "min.insync.replicas" : "1"
  },
  "name" : "TenantA",
  "shortName" : "tenanta",
  "uniqueConsumerGroup" : true,
  "logo" : "tenanta.png",
  "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
  "dataClassificationEnabled" : false,
  "supportedAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  } ],
  "wizardCompleted" : true,
  "customerId" : null,
  "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Resources

Index

The index provides the entry point into the service.

Accessing the index

A GET request is used to access the index

Response fields

Path Type Description

_links

Object

Links to other resources

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2539

{
  "_links" : {
    "confidentialities" : {
      "href" : "...",
      "templated" : true
    },
    "stream_configs" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create streams"
    },
    "instances" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create instances"
    },
    "tenants" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create tenants"
    },
    "schema_versions" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create schema versions"
    },
    "application_principals" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create ApplicationPrincipals"
    },
    "groups" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create groups"
    },
    "application_access" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create ApplicationAccess"
    },
    "application_credentials" : {
      "href" : "...",
      "templated" : true
    },
    "environments" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create environments"
    },
    "users" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create users"
    },
    "application_access_grants" : {
      "href" : "...",
      "templated" : true
    },
    "applications" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create applications"
    },
    "integrities" : {
      "href" : "...",
      "templated" : true
    },
    "application_deployments" : {
      "href" : "...",
      "templated" : true
    },
    "connect_plugins" : {
      "href" : "...",
      "templated" : true
    },
    "schemas" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create schemas"
    },
    "streams" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create streams"
    },
    "clusters" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access or create clusters"
    },
    "support_tiers" : {
      "href" : "...",
      "templated" : true
    },
    "group" : {
      "href" : "...",
      "title" : "A group"
    },
    "user" : {
      "href" : "...",
      "title" : "A user"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    }
  }
}
Relation Description

users

The Users resource

groups

The Groups resource

instances

The Instances resource

clusters

The Clusters resource

environments

The Environments resource

tenants

The Tenants resource

streams

The Streams resource

stream_configs

The StreamConfigs resource

schemas

The Schemas resource

schema_versions

The SchemaVersions resource

applications

The Applications resource

application_principals

The ApplicationPrincipals resource

application_access

The ApplicationAccess resource

application_access_grants

The ApplicationAccessGrant resource

user

Returns the authenticated user

group

Returns the groups that authenticated user belongs to

tenant

Returns the authenticated tenant

profile

The ALPS profile for the service

confidentialities

Returns the confidentiality levels

integrities

Returns the integrity

support_tiers

Returns the support tiers

application_deployments

The ApplicationDeployment resource

connect_plugins

The ConnectPluginsInfo resource

application_credentials

The ApplicationCredentials resource

AsyncAPI Specification

Generate and view AsyncAPI specification for any topic in Self-Service. Any authenticated user can view the AsyncAPI specification for a deployed topic.

View the AsyncAPI Specification as JSON

When proving a Request Header Accept: application/json the response will be in JSON format.

The AsyncAPI spec is included in the asyncApiSpec field.

Curl request

$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2/asyncapi' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/json'

HTTP request

GET /stream_configs/c082e097545948dcbd0cf993128d3fc2/asyncapi HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2400

{
  "asyncApiSpec" : "---\nasyncapi: \"2.6.0\"\ninfo:\n  title: \"AsyncAPI for Topic tenanta-stream1\"\n  version: \"1.0.0\"\n  description: \"description_tenanta-stream1\"\nservers:\n  Zone1 Cluster OTA:\n    url: \"bootstrapserver1:9093\"\n    protocol: \"kafka-secure\"\n    description: \"Zone1 Cluster OTA brokers\"\n    security:\n    - SASL_SCRAM_SHA_256: []\n    - SSL_MUTUAL_TLS: []\n    bindings:\n      kafka:\n      - schemaRegistryUrl: \"https://schema.local1,https://schema.local2\"\n      - schemaRegistryVendor: \"confluent\"\ndefaultContentType: \"application/json\"\nchannels:\n  tenanta-stream1:\n    description: \"description_tenanta-stream1\"\n    subscribe:\n      description: \"Consume message from tenanta-stream1\"\n      message:\n        $ref: \"#/components/messages/tenanta-stream1\"\n    publish:\n      description: \"Produce message into tenanta-stream1\"\n      message:\n        $ref: \"#/components/messages/tenanta-stream1\"\n    bindings:\n      kafka:\n      - topic: \"tenanta-ota-tenantaenv1-tenanta-stream1\"\n      - partitions: 12\n      - topicConfiguration:\n        - cleanup.policy: \"delete\"\n        - retention.ms: 10000\ncomponents:\n  messages:\n    tenanta-stream1:\n      name: \"tenanta-stream1\"\n      bindings:\n        payload:\n          type: \"record\"\n          name: \"Value\"\n          namespace: \"io.axual.qa.general\"\n          doc: \"Object type that is supposed to be filled with a Value.\"\n          fields:\n          - name: \"value\"\n            type: \"string\"\n            doc: \"The Value.\"\n        kafka:\n          key:\n            type: \"record\"\n            name: \"Key\"\n            namespace: \"io.axual.qa.general\"\n            doc: \"Object type that is supposed to be filled with a Key.\"\n            fields:\n            - name: \"key\"\n              type: \"string\"\n              doc: \"The Key.\"\n        schemaFormat: \"application/vnd.apache.avro;version=1.9.0\"\n  securitySchemes:\n    SASL_SCRAM_SHA_256:\n      type: \"scramSha256\"\n      description: \"Provide your username and password for SASL/SCRAM authentication\"\n    SSL_MUTUAL_TLS:\n      type: \"X509\"\n      description: \"Provide your certificate for Mutual TLS authentication\"\ntags:\n- name: \"Self-Service Link\"\n  description: \"Link to Axual Self-Service\"\n  externalDocs:\n    url: \"https://axual.cloud\"\n"
}

View the AsyncAPI Specification as YAML

When proving a Request Header Accep: application/yaml the response will be in YAML format.

Curl request

$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2/asyncapi' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/yaml'

HTTP request

GET /stream_configs/c082e097545948dcbd0cf993128d3fc2/asyncapi HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/yaml
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/yaml
Content-Length: 2221

---
asyncapi: "2.6.0"
info:
  title: "AsyncAPI for Topic tenanta-stream1"
  version: "1.0.0"
  description: "description_tenanta-stream1"
servers:
  Zone1 Cluster OTA:
    url: "bootstrapserver1:9093"
    protocol: "kafka-secure"
    description: "Zone1 Cluster OTA brokers"
    security:
    - SASL_SCRAM_SHA_256: []
    - SSL_MUTUAL_TLS: []
    bindings:
      kafka:
      - schemaRegistryUrl: "https://schema.local1,https://schema.local2"
      - schemaRegistryVendor: "confluent"
defaultContentType: "application/json"
channels:
  tenanta-stream1:
    description: "description_tenanta-stream1"
    subscribe:
      description: "Consume message from tenanta-stream1"
      message:
        $ref: "#/components/messages/tenanta-stream1"
    publish:
      description: "Produce message into tenanta-stream1"
      message:
        $ref: "#/components/messages/tenanta-stream1"
    bindings:
      kafka:
      - topic: "tenanta-ota-tenantaenv1-tenanta-stream1"
      - partitions: 12
      - topicConfiguration:
        - cleanup.policy: "delete"
        - retention.ms: 10000
components:
  messages:
    tenanta-stream1:
      name: "tenanta-stream1"
      bindings:
        payload:
          type: "record"
          name: "Value"
          namespace: "io.axual.qa.general"
          doc: "Object type that is supposed to be filled with a Value."
          fields:
          - name: "value"
            type: "string"
            doc: "The Value."
        kafka:
          key:
            type: "record"
            name: "Key"
            namespace: "io.axual.qa.general"
            doc: "Object type that is supposed to be filled with a Key."
            fields:
            - name: "key"
              type: "string"
              doc: "The Key."
        schemaFormat: "application/vnd.apache.avro;version=1.9.0"
  securitySchemes:
    SASL_SCRAM_SHA_256:
      type: "scramSha256"
      description: "Provide your username and password for SASL/SCRAM authentication"
    SSL_MUTUAL_TLS:
      type: "X509"
      description: "Provide your certificate for Mutual TLS authentication"
tags:
- name: "Self-Service Link"
  description: "Link to Axual Self-Service"
  externalDocs:
    url: "https://axual.cloud"

Auth

Management API acts as the Authorization service. All the requests passing through MGMT API are also authenticated against Keycloak or an OIDC provider.

The /auth base path for authentication / authorization endpoints.

Generic auth

The auth endpoint can be used by all services to check if a user has authority to perform a certain action.

Curl request

$ curl 'http://api.example.com/auth?action=STREAM_CONFIG_VIEW&resourceType=STREAM_CONFIG&resourceUid=c082e097545948dcbd0cf993128d3fc2' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /auth?action=STREAM_CONFIG_VIEW&resourceType=STREAM_CONFIG&resourceUid=c082e097545948dcbd0cf993128d3fc2 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK

External Kafka Providers

Starting with Platform Manager version 7.0.0 we are supporting external kafka providers.

Supported Kafka Providers

  • Aiven

  • Apache Kafka

  • Confluent Cloud

Validate Provider Credentials

A POST request will validate provided credentials and return available services.

Based on the Kafka Provider the request will be different.

Aiven

When interacting with Aiven, the Axl-Provider-Type field has to be aiven.

Additionally, provide Axl-Project-Id-Aiven and Axl-Auth-Token-Aiven in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Axual Provider Type

Axl-Project-Id-Aiven

String

The Aiven Project the token is valid for

Axl-Auth-Token-Aiven

String

The authorization token for Aiven API

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "aiven",
  "Axl-Project-Id-Aiven" : "aiven-project",
  "Axl-Auth-Token-Aiven" : "aiven-auth-token"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 126
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "aiven",
  "Axl-Project-Id-Aiven" : "aiven-project",
  "Axl-Auth-Token-Aiven" : "aiven-auth-token"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 351

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : [ {
    "services" : [ {
      "kafkaCluster" : {
        "id" : "kafka-1",
        "url" : "kafka-1:8084"
      },
      "schemaRegistryClusters" : [ {
        "id" : "schema-registry-1",
        "url" : "schema-registry-1:8084"
      } ]
    } ],
    "environmentId" : null
  } ]
}

Apache Kafka

When integrating with Apache Kafka, the Axl-Provider-Type field has to be apache-kafka.

Verify mTLS credentials

Additionally, to check mTLS certificate/private-key certification provide Axl-Bootstrap-Server-ApacheKafka, Axl-Broker-Protocol-Type-ApacheKafka, Axl-Broker-Cert-ApacheKafka and Axl-Broker-Private-Key-ApacheKafka in your request body. If Axl-Broker-CA-Validation-ApacheKafka is true, provide also the Axl-Broker-Truststore-ApacheKafka in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Authentication Protocol Type of broker.

Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka.

Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker. Options are mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512.

Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka with mTLS authentication.

Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka with mTLS authentication.

Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

Axl-Broker-Truststore-ApacheKafka

String

The (optional) Base64 encrypted broker truststore cert of the Admin User to connect to an Apache Kafka.

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
  "Axl-Broker-Cert-ApacheKafka" : "cert",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 360
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
  "Axl-Broker-Cert-ApacheKafka" : "cert",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 74

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : null
}
Verify SASL credentials

Additionally, to check SASL credentials provide Axl-Bootstrap-Server-ApacheKafka, Axl-Broker-Protocol-Type-ApacheKafka, Axl-Broker-Security-Protocol-Type-ApacheKafka, Axl-Broker-Username-ApacheKafka, and Axl-Broker-Password-ApacheKafka in your request body. If Axl-Broker-CA-Validation-ApacheKafka is true, provide also the Axl-Broker-Truststore-ApacheKafka in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Authentication Protocol Type of broker.

Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka.

Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker. Options are mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512.

Axl-Broker-Security-Protocol-Type-ApacheKafka

String

The security protocol used to communicate with the Kafka broker(s) (Only meaningful for SASL authentication). Options are SASL_PLAINTEXT, SASL_SSL.

Axl-Broker-Username-ApacheKafka

String

The broker Username used to connect to Apache Kafka with SASL authentication.

Axl-Broker-Password-ApacheKafka

String

The broker Password used to connect to Apache Kafka with SASL authentication.

Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

Axl-Broker-Truststore-ApacheKafka

String

The (optional) Base64 encrypted broker truststore cert of the Admin User to connect to an Apache Kafka.

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "SASL/PLAIN",
  "Axl-Broker-Security-Protocol-Type-ApacheKafka" : "SASL_SSL",
  "Axl-Broker-Username-ApacheKafka" : "kafka-user",
  "Axl-Broker-Password-ApacheKafka" : "kafka-password",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 440
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "SASL/PLAIN",
  "Axl-Broker-Security-Protocol-Type-ApacheKafka" : "SASL_SSL",
  "Axl-Broker-Username-ApacheKafka" : "kafka-user",
  "Axl-Broker-Password-ApacheKafka" : "kafka-password",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 74

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : null
}
Verify SASL Credential Basic Authentication of Schema Registry

Additionally, if you want to connect to a Schema Registry, to check SASL credentials with basic authentication provide Axl-Sr-Url-ApacheKafka, Axl-Sr-Protocol-Type-ApacheKafka, Axl-Sr-Username-ApacheKafka and Axl-Sr-Password-ApacheKafka in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Authentication Protocol Type of broker.

Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka.

Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker. Options are mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512.

Axl-Broker-Security-Protocol-Type-ApacheKafka

String

The security protocol used to communicate with the Kafka broker(s) (Only meaningful for SASL authentication). Options are SASL_PLAINTEXT, SASL_SSL.

Axl-Broker-Username-ApacheKafka

String

The broker Username used to connect to Apache Kafka with SASL authentication.

Axl-Broker-Password-ApacheKafka

String

The broker Password used to connect to Apache Kafka with SASL authentication.

Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

Axl-Broker-Truststore-ApacheKafka

String

The (optional) Base64 encrypted broker truststore cert of the Admin User to connect to an Apache Kafka.

Axl-Sr-Url-ApacheKafka

String

The (optional) URL of the Schema Registry to interact with an Apache Kafka

Axl-Sr-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Schema Registry.

Axl-Sr-Truststore-ApacheKafka

String

The (optional) Schema Registry truststore Cert of the Admin User to connect to a Schema Registry.

Axl-Sr-Protocol-Type-ApacheKafka

String

The (optional) Authentication Protocol Type to connect to a Schema Registry. It must be set to Basic-Auth

Axl-Sr-Username-ApacheKafka

String

The (optional) Username used to connect to a Schema Registry with Basic authentication.

Axl-Sr-Password-ApacheKafka

String

The (optional) Password used to connect to a Schema Registry with Basic authentication.

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "SASL/PLAIN",
  "Axl-Broker-Security-Protocol-Type-ApacheKafka" : "SASL_SSL",
  "Axl-Broker-Username-ApacheKafka" : "kafka-user",
  "Axl-Broker-Password-ApacheKafka" : "kafka-password",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
  "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
  "Axl-Sr-CA-Validation-ApacheKafka" : "true",
  "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate",
  "Axl-Sr-Username-ApacheKafka" : "schema-registry-username",
  "Axl-Sr-Password-ApacheKafka" : "schema-registry-password",
  "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 773
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "SASL/PLAIN",
  "Axl-Broker-Security-Protocol-Type-ApacheKafka" : "SASL_SSL",
  "Axl-Broker-Username-ApacheKafka" : "kafka-user",
  "Axl-Broker-Password-ApacheKafka" : "kafka-password",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
  "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
  "Axl-Sr-CA-Validation-ApacheKafka" : "true",
  "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate",
  "Axl-Sr-Username-ApacheKafka" : "schema-registry-username",
  "Axl-Sr-Password-ApacheKafka" : "schema-registry-password",
  "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 74

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : null
}
Verify No Authentication of Schema Registry

Additionally, if you want to connect to a Schema Registry, to check no authentication provide Axl-Sr-Url-ApacheKafka, Axl-Sr-Protocol-Type-ApacheKafka in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Authentication Protocol Type of broker.

Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka.

Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker. Options are mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512.

Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka with mTLS authentication.

Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka with mTLS authentication.

Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

Axl-Broker-Truststore-ApacheKafka

String

The (optional) Base64 encrypted broker truststore cert of the Admin User to connect to an Apache Kafka.

Axl-Sr-Url-ApacheKafka

String

The (optional) URL of the Schema Registry to interact with an Apache Kafka

Axl-Sr-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Schema Registry.

Axl-Sr-Truststore-ApacheKafka

String

The (optional) Schema Registry truststore Cert of the Admin User to connect to a Schema Registry.

Axl-Sr-Protocol-Type-ApacheKafka

String

The (optional) Authentication Protocol Type to connect to a Schema Registry. It must be set to No-Auth.

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
  "Axl-Broker-Cert-ApacheKafka" : "cert",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
  "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
  "Axl-Sr-CA-Validation-ApacheKafka" : "true",
  "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate",
  "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 566
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
  "Axl-Broker-Cert-ApacheKafka" : "cert",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
  "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
  "Axl-Sr-CA-Validation-ApacheKafka" : "true",
  "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate",
  "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 74

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : null
}
Verify mTLS Authentication of Schema Registry

Additionally, if you want to connect to a Schema Registry, to check mTLS certificate/private-key certification provide Axl-Sr-Url-ApacheKafka, Axl-Sr-Cert-ApacheKafka, Axl-Sr-Private-Key-ApacheKafka and Axl-Sr-Truststore-ApacheKafka in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Authentication Protocol Type of broker.

Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka.

Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker. Options are mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512.

Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka with mTLS authentication.

Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka with mTLS authentication.

Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

Axl-Broker-Truststore-ApacheKafka

String

The (optional) Base64 encrypted broker truststore cert of the Admin User to connect to an Apache Kafka.

Axl-Sr-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type to connect to a Schema Registry. It must be mTLS

Axl-Sr-Url-ApacheKafka

String

The URL of the Schema Registry to interact with an Apache Kafka.

Axl-Sr-Cert-ApacheKafka

String

The Schema Registry Cert of the Admin User to connect to a Schema Registry.

Axl-Sr-Private-Key-ApacheKafka

String

The private key of the Admin User to connect to a Schema Registry.

Axl-Sr-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Schema Registry.

Axl-Sr-Truststore-ApacheKafka

String

The (optional) Schema Registry truststore Cert of the Admin User to connect to a Schema Registry.

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
  "Axl-Broker-Cert-ApacheKafka" : "cert",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
  "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Sr-Url-ApacheKafka" : "sr-url",
  "Axl-Sr-CA-Validation-ApacheKafka" : "true",
  "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate",
  "Axl-Sr-Cert-ApacheKafka" : "sr-cert",
  "Axl-Sr-Private-Key-ApacheKafka" : "sr-private-key"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 646
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "apache-kafka",
  "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
  "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
  "Axl-Broker-Cert-ApacheKafka" : "cert",
  "Axl-Broker-CA-Validation-ApacheKafka" : "true",
  "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
  "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
  "Axl-Sr-Url-ApacheKafka" : "sr-url",
  "Axl-Sr-CA-Validation-ApacheKafka" : "true",
  "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate",
  "Axl-Sr-Cert-ApacheKafka" : "sr-cert",
  "Axl-Sr-Private-Key-ApacheKafka" : "sr-private-key"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 74

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : null
}

Confluent Cloud (Cloud API Key)

When interacting with Confluent Cloud, the Axl-Provider-Type field has to be confluent-cloud.

Additionally, provide Axl-Api-Key-Confluent and Axl-Secret-Confluent in your request body.

Provide a Cloud API Key to retrieve available services.
Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Axual Provider Type

Axl-Api-Key-Confluent

String

The Confluent Cloud API Key to retrieve Environments and Clusters

Axl-Secret-Confluent

String

The Confluent Cloud secret associated with the API Key

Curl request
$ curl 'http://api.example.com/providers/validateCredentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "confluent-cloud",
  "Axl-Api-Key-Confluent" : "cloud-api-key",
  "Axl-Secret-Confluent" : "cloud-secret"
}'
HTTP request
POST /providers/validateCredentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 133
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "confluent-cloud",
  "Axl-Api-Key-Confluent" : "cloud-api-key",
  "Axl-Secret-Confluent" : "cloud-secret"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 354

{
  "credentialsValid" : true,
  "error" : null,
  "environments" : [ {
    "services" : [ {
      "kafkaCluster" : {
        "id" : "kafka-1",
        "url" : "kafka-1:8084"
      },
      "schemaRegistryClusters" : [ {
        "id" : "schema-registry-1",
        "url" : "schema-registry-1:8084"
      } ]
    } ],
    "environmentId" : "env-1"
  } ]
}

Retrieve Resource Counters

A POST request will discover the resources and return the number of discovered resources.

Based on the Kafka Provider the request will be different.

Aiven

When interacting with Aiven, the Axl-Provider-Type field has to be aiven.

Additionally, provide Axl-Project-Id-Aiven, Axl-Auth-Token-Aiven, and Axl-Service-Name-Aiven in your request body.

Request fields
Path Type Description Constraints

Axl-Provider-Type

String

The Axual Provider Type

Axl-Project-Id-Aiven

String

The Aiven Project the token is valid for

Axl-Auth-Token-Aiven

String

The authorization token for Aiven API

Axl-Service-Name-Aiven

String

The Kafka Service Name used to discover resources

Curl request
$ curl 'http://api.example.com/providers/discoverResources' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "Axl-Provider-Type" : "aiven",
  "Axl-Project-Id-Aiven" : "aiven-project",
  "Axl-Auth-Token-Aiven" : "aiven-auth-token",
  "Axl-Service-Name-Aiven" : "aiven-service-name"
}'
HTTP request
POST /providers/discoverResources HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 177
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "Axl-Provider-Type" : "aiven",
  "Axl-Project-Id-Aiven" : "aiven-project",
  "Axl-Auth-Token-Aiven" : "aiven-auth-token",
  "Axl-Service-Name-Aiven" : "aiven-service-name"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 58

{
  "streams" : 1,
  "applications" : 1,
  "schemas" : 2
}

Import Provider Information from wizard into Self-Service

The endpoint /wizard/topics is used to view, and import Kafka topics, ACLs and schemas from a kafka provider into Self-Service.

Any authenticated user with role TENANT_ADMIN is allowed to perform these actions on its own tenant.

Aiven

A POST request to wizard/topics/info will retrieve all the Topic Details available for an External Aiven Kafka Cluster.

Request fields

Path Type Description Constraints

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Project-Id-Aiven

String

The Aiven Project the token is valid for

providerConfigs.Axl-Auth-Token-Aiven

String

The authorization token for Aiven API

providerConfigs.Axl-Service-Name-Aiven

String

The Kafka Service Name used to discover resources

Curl request

$ curl 'http://api.example.com/wizard/topics/info' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "providerConfigs" : {
    "Axl-Provider-Type" : "aiven",
    "Axl-Project-Id-Aiven" : "aiven-project",
    "Axl-Auth-Token-Aiven" : "aiven-auth-token",
    "Axl-Service-Name-Aiven" : "aiven-service-name"
  }
}'

HTTP request

POST /wizard/topics/info HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 213
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "providerConfigs" : {
    "Axl-Provider-Type" : "aiven",
    "Axl-Project-Id-Aiven" : "aiven-project",
    "Axl-Auth-Token-Aiven" : "aiven-auth-token",
    "Axl-Service-Name-Aiven" : "aiven-service-name"
  }
}

HTTP response

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 24135

[ {
  "topicName" : "a-topic-name",
  "retentionTimeMs" : null,
  "configs" : {
    "cleanup.policy" : "delete"
  },
  "acls" : [ {
    "principal" : "CN=Example Topic Processor,O=Axual B.V.,L=Utrecht,C=NL",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "username" : "TestUser",
    "password" : "P@ssw0rd",
    "accessType" : "WRITE",
    "applicationId" : null,
    "keyPairs" : { }
  }, {
    "principal" : "CN=Example Topic Processor,O=Axual B.V.,L=Utrecht,C=NL",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "username" : "TestUser",
    "password" : "P@ssw0rd",
    "accessType" : "READ",
    "applicationId" : "appID",
    "keyPairs" : { }
  }, {
    "principal" : "CN=Example Topic Processor,O=Axual B.V.,L=Utrecht,C=NL",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "username" : "Test.User-1",
    "password" : "P@ssw0rd",
    "accessType" : "WRITE",
    "applicationId" : null,
    "keyPairs" : { }
  } ],
  "partitionCount" : 3,
  "replication" : null,
  "keySchema" : "{\n  \"type\": \"record\",\n  \"name\": \"Application\",\n  \"namespace\": \"io.axual.client.example.schema\",\n  \"doc\": \"Identification of an application\",\n  \"fields\": [\n    {\n      \"name\": \"name\",\n      \"type\": \"string\",\n      \"doc\": \"The name of the application\"\n    },\n    {\n      \"name\": \"version\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"(Optional) The application version\",\n      \"default\": null\n    },\n    {\n      \"name\": \"owner\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"The owner of the application\",\n      \"default\": null\n    }\n  ]\n}",
  "valueSchema" : "{\n  \"type\": \"record\",\n  \"name\": \"Application\",\n  \"namespace\": \"io.axual.client.example.schema\",\n  \"doc\": \"Identification of an application\",\n  \"fields\": [\n    {\n      \"name\": \"name\",\n      \"type\": \"string\",\n      \"doc\": \"The name of the application\"\n    },\n    {\n      \"name\": \"version\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"(Optional) The application version\",\n      \"default\": null\n    },\n    {\n      \"name\": \"owner\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"The owner of the application\",\n      \"default\": null\n    },\n    {\n      \"name\": \"description\",\n      \"type\": \"string\",\n      \"doc\": \"The description of the application\"\n    }\n  ]\n}"
} ]

Confluent Cloud

A POST request to wizard/topics/info request will retrieve all the Topic Details available for an External Confluent Cloud Kafka Cluster.

Provide the clusterName of the cluster you are importing as part of your request body in order to store the Cluster Credentials in Vault.

Request fields

Path Type Description Constraints

clusterName

String

A valid ClusterName to create Cluster Credentials in the Vault

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Env-Id-Confluent

String

The Confluent Cloud Environment ID

providerConfigs.Axl-Api-Key-Confluent

String

The API Key for Confluent Cloud API

providerConfigs.Axl-Secret-Confluent

String

The Secret for Confluent Cloud API

providerConfigs.Axl-Cluster-Id-Confluent

String

The Confluent Cloud Cluster ID we want to import

providerConfigs.Axl-Cluster-Url-Confluent

String

The Confluent Cloud Cluster URL we want to import

providerConfigs.Axl-Sr-Id-Confluent

String

The Confluent Cloud Schema Registry ID we want to import

providerConfigs.Axl-Sr-Url-Confluent

String

The Confluent Cloud Schema Registry URL we want to import

Curl request

$ curl 'http://api.example.com/wizard/topics/info' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "providerConfigs" : {
    "Axl-Provider-Type" : "confluent-cloud",
    "Axl-Env-Id-Confluent" : "env-id",
    "Axl-Api-Key-Confluent" : "cloud-api-key",
    "Axl-Secret-Confluent" : "cloud-secret",
    "Axl-Cluster-Id-Confluent" : "cluster-id",
    "Axl-Cluster-Url-Confluent" : "cluster-url",
    "Axl-Sr-Id-Confluent" : "schema-registry-id",
    "Axl-Sr-Url-Confluent" : "schema-registry-url"
  }
}'

HTTP request

POST /wizard/topics/info HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 437
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "providerConfigs" : {
    "Axl-Provider-Type" : "confluent-cloud",
    "Axl-Env-Id-Confluent" : "env-id",
    "Axl-Api-Key-Confluent" : "cloud-api-key",
    "Axl-Secret-Confluent" : "cloud-secret",
    "Axl-Cluster-Id-Confluent" : "cluster-id",
    "Axl-Cluster-Url-Confluent" : "cluster-url",
    "Axl-Sr-Id-Confluent" : "schema-registry-id",
    "Axl-Sr-Url-Confluent" : "schema-registry-url"
  }
}

HTTP response

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 24135

[ {
  "topicName" : "a-topic-name",
  "retentionTimeMs" : null,
  "configs" : {
    "cleanup.policy" : "delete"
  },
  "acls" : [ {
    "principal" : "CN=Example Topic Processor,O=Axual B.V.,L=Utrecht,C=NL",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "username" : "TestUser",
    "password" : "P@ssw0rd",
    "accessType" : "WRITE",
    "applicationId" : null,
    "keyPairs" : { }
  }, {
    "principal" : "CN=Example Topic Processor,O=Axual B.V.,L=Utrecht,C=NL",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "username" : "TestUser",
    "password" : "P@ssw0rd",
    "accessType" : "READ",
    "applicationId" : "appID",
    "keyPairs" : { }
  }, {
    "principal" : "CN=Example Topic Processor,O=Axual B.V.,L=Utrecht,C=NL",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "username" : "Test.User-1",
    "password" : "P@ssw0rd",
    "accessType" : "WRITE",
    "applicationId" : null,
    "keyPairs" : { }
  } ],
  "partitionCount" : 3,
  "replication" : null,
  "keySchema" : "{\n  \"type\": \"record\",\n  \"name\": \"Application\",\n  \"namespace\": \"io.axual.client.example.schema\",\n  \"doc\": \"Identification of an application\",\n  \"fields\": [\n    {\n      \"name\": \"name\",\n      \"type\": \"string\",\n      \"doc\": \"The name of the application\"\n    },\n    {\n      \"name\": \"version\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"(Optional) The application version\",\n      \"default\": null\n    },\n    {\n      \"name\": \"owner\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"The owner of the application\",\n      \"default\": null\n    }\n  ]\n}",
  "valueSchema" : "{\n  \"type\": \"record\",\n  \"name\": \"Application\",\n  \"namespace\": \"io.axual.client.example.schema\",\n  \"doc\": \"Identification of an application\",\n  \"fields\": [\n    {\n      \"name\": \"name\",\n      \"type\": \"string\",\n      \"doc\": \"The name of the application\"\n    },\n    {\n      \"name\": \"version\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"(Optional) The application version\",\n      \"default\": null\n    },\n    {\n      \"name\": \"owner\",\n      \"type\": [\n        \"null\",\n        \"string\"\n      ],\n      \"doc\": \"The owner of the application\",\n      \"default\": null\n    },\n    {\n      \"name\": \"description\",\n      \"type\": \"string\",\n      \"doc\": \"The description of the application\"\n    }\n  ]\n}"
} ]

Apache Kafka

A POST request to wizard/topics/info request will retrieve all the Topic Details available for an Apache Kafka Cluster.

Provide the clusterName of the cluster you are importing as part of your request body in order to store the Cluster Credentials in Vault.

Request fields

Path Type Description Constraints

clusterName

String

A valid ClusterName to create Cluster Credentials in the Vault

purpose

String

Purpose defining prod or non-prod. (p or np).

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka

providerConfigs.Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker used to interact with an Apache Kafka (mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512)

providerConfigs.Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

providerConfigs.Axl-Broker-Truststore-ApacheKafka

String

The (optional) Broker truststore Cert of the Admin User to connect to a Kafka broker

Curl request

$ curl 'http://api.example.com/wizard/topics' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
  }
}'

HTTP request

POST /wizard/topics HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 455
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
  }
}

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112

{
  "importedStreamCount" : 1,
  "importedACLCount" : 0,
  "importedSchemaCount" : 0,
  "groupName" : "Admins"
}

Provide Schema Registry with No Authentication

Request fields
Path Type Description Constraints

clusterName

String

A valid ClusterName to create Cluster Credentials in the Vault

purpose

String

Purpose defining prod or non-prod. (p or np).

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka

providerConfigs.Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker used to interact with an Apache Kafka (mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512)

providerConfigs.Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

providerConfigs.Axl-Broker-Truststore-ApacheKafka

String

The (optional) Broker truststore Cert of the Admin User to connect to a Kafka broker

providerConfigs.Axl-Sr-Protocol-Type-ApacheKafka

String

NoAuth Authentication Protocol Type to connect to a Schema Registry

providerConfigs.Axl-Sr-Url-ApacheKafka

String

The URL of the Schema Registry to interact with an Apache Kafka

Curl request
$ curl 'http://api.example.com/wizard/topics' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
    "Axl-Sr-Url-ApacheKafka" : "url"
  }
}'
HTTP request
POST /wizard/topics HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 545
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
    "Axl-Sr-Url-ApacheKafka" : "url"
  }
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112

{
  "importedStreamCount" : 1,
  "importedACLCount" : 0,
  "importedSchemaCount" : 0,
  "groupName" : "Admins"
}

Provide Schema Registry with mTls Authentication

Request fields
Path Type Description Constraints

clusterName

String

A valid ClusterName to create Cluster Credentials in the Vault

purpose

String

Purpose defining prod or non-prod. (p or np).

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka

providerConfigs.Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker used to interact with an Apache Kafka (mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512)

providerConfigs.Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka.

providerConfigs.Axl-Broker-Truststore-ApacheKafka

String

The (optional) Broker truststore Cert of the Admin User to connect to a Kafka broker

providerConfigs.Axl-Sr-Protocol-Type-ApacheKafka

String

mTLS Authentication Protocol Type to connect to a Schema Registry

providerConfigs.Axl-Sr-Url-ApacheKafka

String

The URL of the Schema Registry to interact with an Apache Kafka

providerConfigs.Axl-Sr-Cert-ApacheKafka

String

The Schema Registry Cert of the Admin User to connect to a Schema Registry

providerConfigs.Axl-Sr-Private-Key-ApacheKafka

String

The private key of the Admin User to connect to a Schema Registry

providerConfigs.Axl-Sr-Truststore-ApacheKafka

String

The (optional) Schema Registry truststore Cert of the Admin User to connect to a Schema Registry

Curl request
$ curl 'http://api.example.com/wizard/topics' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Sr-Url-ApacheKafka" : "sr-url",
    "Axl-Sr-Cert-ApacheKafka" : "sr-cert",
    "Axl-Sr-Private-Key-ApacheKafka" : "sr-private-key",
    "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate"
  }
}'
HTTP request
POST /wizard/topics HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 704
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Sr-Url-ApacheKafka" : "sr-url",
    "Axl-Sr-Cert-ApacheKafka" : "sr-cert",
    "Axl-Sr-Private-Key-ApacheKafka" : "sr-private-key",
    "Axl-Sr-Truststore-ApacheKafka" : "sr-ca-certificate"
  }
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112

{
  "importedStreamCount" : 1,
  "importedACLCount" : 0,
  "importedSchemaCount" : 0,
  "groupName" : "Admins"
}

Provide Schema Registry with Basic Authentication

Request fields
Path Type Description Constraints

clusterName

String

A valid ClusterName to create Cluster Credentials in the Vault

purpose

String

Purpose defining prod or non-prod. (p or np).

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Bootstrap-Server-ApacheKafka

String

The URL of the Kafka broker(s) to connect to Apache Kafka

providerConfigs.Axl-Broker-Protocol-Type-ApacheKafka

String

The Authentication Protocol Type of broker used to interact with an Apache Kafka (mTLS, SASL/PLAIN, SASL/SCRAM-SHA-256, SASL/SCRAM-SHA-512)

providerConfigs.Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with an Apache Kafka

providerConfigs.Axl-Broker-Truststore-ApacheKafka

String

The (optional) Broker truststore Cert of the Admin User to connect to a Kafka broker

providerConfigs.Axl-Broker-Cert-ApacheKafka

String

The Base64 encrypted client certificate chain that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Broker-Private-Key-ApacheKafka

String

The Base64 encrypted client private key that is used to interact with an Apache Kafka broker

providerConfigs.Axl-Sr-Protocol-Type-ApacheKafka

String

BasicAuth Authentication Protocol Type to connect to a Schema Registry

providerConfigs.Axl-Sr-Url-ApacheKafka

String

The URL of the Schema Registry to interact with an Apache Kafka

providerConfigs.Axl-Broker-CA-Validation-ApacheKafka

String

The Flag to define CA validation when interacting with a Schema Registry

providerConfigs.Axl-Sr-Username-ApacheKafka

String

The Username used to connect to a Schema Registry with Basic authentication

providerConfigs.Axl-Sr-Password-ApacheKafka

String

The Password used to connect to a Schema Registry with Basic authentication

Curl request
$ curl 'http://api.example.com/wizard/topics' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth",
    "Axl-Sr-Url-ApacheKafka" : "sr-url",
    "Axl-Sr-Username-ApacheKafka" : "sr-username",
    "Axl-Sr-Password-ApacheKafka" : "sr-password",
    "Axl-Sr-CA-Validation-ApacheKafka" : "false"
  }
}'
HTTP request
POST /wizard/topics HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 703
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Broker-Private-Key-ApacheKafka" : "private-key",
    "Axl-Broker-Cert-ApacheKafka" : "cert",
    "Axl-Broker-CA-Validation-ApacheKafka" : "true",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth",
    "Axl-Sr-Url-ApacheKafka" : "sr-url",
    "Axl-Sr-Username-ApacheKafka" : "sr-username",
    "Axl-Sr-Password-ApacheKafka" : "sr-password",
    "Axl-Sr-CA-Validation-ApacheKafka" : "false"
  }
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112

{
  "importedStreamCount" : 1,
  "importedACLCount" : 0,
  "importedSchemaCount" : 0,
  "groupName" : "Admins"
}

Import External Cluster’s Topics into Self Service

Aiven

A POST request to wizard/topics will create base entities, and import all Kafka topics, ACLs, and schemas into the Self-Service.

Provide the clusterName and the purpose of the cluster you are importing as part of your request body.

Request fields
Path Type Description Constraints

clusterName

String

Name of the cluster to be created

purpose

String

Purpose defining prod or non-prod. (p or np).

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Project-Id-Aiven

String

The Aiven Project the token is valid for

providerConfigs.Axl-Auth-Token-Aiven

String

The authorization token for Aiven API

providerConfigs.Axl-Service-Name-Aiven

String

The Kafka Service Name used to discover resources

Curl request
$ curl 'http://api.example.com/wizard/topics' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "aiven",
    "Axl-Project-Id-Aiven" : "aiven-project",
    "Axl-Auth-Token-Aiven" : "aiven-auth-token",
    "Axl-Service-Name-Aiven" : "aiven-service-name"
  }
}'
HTTP request
POST /wizard/topics HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 266
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "aiven",
    "Axl-Project-Id-Aiven" : "aiven-project",
    "Axl-Auth-Token-Aiven" : "aiven-auth-token",
    "Axl-Service-Name-Aiven" : "aiven-service-name"
  }
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112

{
  "importedStreamCount" : 1,
  "importedACLCount" : 2,
  "importedSchemaCount" : 2,
  "groupName" : "Admins"
}

Confluent Cloud

A POST request to wizard/topics will create base entities, and import all Kafka topics, ACLs, and schemas into the Self-Service.

Provide the clusterName and the purpose of the cluster you are importing as part of your request body.

Request fields
Path Type Description Constraints

clusterName

String

A valid ClusterName to create Cluster Credentials in the Vault

purpose

String

Purpose defining prod or non-prod. (p or np).

providerConfigs.Axl-Provider-Type

String

The Axual Provider Type

providerConfigs.Axl-Env-Id-Confluent

String

The Confluent Cloud Environment ID

providerConfigs.Axl-Api-Key-Confluent

String

The API Key for Confluent Cloud API

providerConfigs.Axl-Secret-Confluent

String

The Secret for Confluent Cloud API

providerConfigs.Axl-Cluster-Id-Confluent

String

The Confluent Cloud Cluster ID we want to import

providerConfigs.Axl-Cluster-Url-Confluent

String

The Confluent Cloud Cluster URL we want to import

providerConfigs.Axl-Sr-Id-Confluent

String

The Confluent Cloud Schema Registry ID we want to import

providerConfigs.Axl-Sr-Url-Confluent

String

The Confluent Cloud Schema Registry URL we want to import

Curl request
$ curl 'http://api.example.com/wizard/topics' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "confluent-cloud",
    "Axl-Env-Id-Confluent" : "env-id",
    "Axl-Api-Key-Confluent" : "cloud-api-key",
    "Axl-Secret-Confluent" : "cloud-secret",
    "Axl-Cluster-Id-Confluent" : "cluster-id",
    "Axl-Cluster-Url-Confluent" : "cluster-url",
    "Axl-Sr-Id-Confluent" : "schema-registry-id",
    "Axl-Sr-Url-Confluent" : "schema-registry-url"
  }
}'
HTTP request
POST /wizard/topics HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 457
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "clusterName" : "DTA Cluster",
  "purpose" : "np",
  "providerConfigs" : {
    "Axl-Provider-Type" : "confluent-cloud",
    "Axl-Env-Id-Confluent" : "env-id",
    "Axl-Api-Key-Confluent" : "cloud-api-key",
    "Axl-Secret-Confluent" : "cloud-secret",
    "Axl-Cluster-Id-Confluent" : "cluster-id",
    "Axl-Cluster-Url-Confluent" : "cluster-url",
    "Axl-Sr-Id-Confluent" : "schema-registry-id",
    "Axl-Sr-Url-Confluent" : "schema-registry-url"
  }
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112

{
  "importedStreamCount" : 1,
  "importedACLCount" : 1,
  "importedSchemaCount" : 2,
  "groupName" : "Admins"
}

Offboard a cluster

The endpoint /offboard is used to delete all the information related to an onboarded cluster including deleting the user from Stripe.

Any authenticated user with role TENANT_ADMIN is allowed to perform this action on its own tenant.

A DELETE request will perform offboarding action for the tenant.

Curl request

$ curl 'http://api.example.com/offboard' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'

HTTP request

DELETE /offboard HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

HTTP response

HTTP/1.1 200 OK

Clusters

A Cluster represents a set of servers working together to form a Kafka cluster. They are usually grouped by location/data center. An AEB Instance will be powered by one or more Clusters.

The clusters resources is used to create and list Clusters.

Cluster Schema

The clusters resource uses the following json-schema:

HTTP request

GET /profile/clusters HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 2410

{
  "title" : "Cluster",
  "properties" : {
    "topicPattern" : {
      "title" : "Topic pattern",
      "readOnly" : false,
      "type" : "string"
    },
    "kafkaListeners" : {
      "title" : "Kafka listeners",
      "readOnly" : false,
      "type" : "object"
    },
    "multiEnvironment" : {
      "title" : "Multi environment",
      "readOnly" : true,
      "type" : "boolean"
    },
    "multiTenant" : {
      "title" : "Multi tenant",
      "readOnly" : true,
      "type" : "boolean"
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "providerType" : {
      "title" : "Provider type",
      "readOnly" : false,
      "type" : "string"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "apiUrl" : {
      "title" : "Api url",
      "readOnly" : false,
      "type" : "string"
    },
    "groupPattern" : {
      "title" : "Group pattern",
      "readOnly" : false,
      "type" : "string"
    },
    "bootstrapServers" : {
      "title" : "Bootstrap servers",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/bootstrapServer"
      }
    },
    "kafkaVersion" : {
      "title" : "Kafka version",
      "readOnly" : false,
      "type" : "string"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "clusterBrowseUrl" : {
      "title" : "Cluster browse url",
      "readOnly" : false,
      "type" : "string"
    },
    "location" : {
      "title" : "Location",
      "readOnly" : false,
      "type" : "string"
    },
    "billingCloudEnabled" : {
      "title" : "Billing cloud enabled",
      "readOnly" : false,
      "type" : "boolean"
    },
    "transactionalPattern" : {
      "title" : "Transactional pattern",
      "readOnly" : false,
      "type" : "string"
    },
    "tenant" : {
      "title" : "Tenant",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    }
  },
  "definitions" : {
    "bootstrapServer" : {
      "type" : "object",
      "properties" : {
        "bootstrapServer" : {
          "title" : "Bootstrap server",
          "readOnly" : false,
          "type" : "string"
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all clusters

A GET request will list all the service’s Clusters.

All clusters returned by this endpoint are public clusters and the clusters owned by the tenant.

Curl request

$ curl 'http://api.example.com/clusters' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /clusters HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 8157

{
  "_embedded" : {
    "clusters" : [ {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "name" : "Zone2 Cluster LST",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : false,
      "apiUrl" : "http://clusterapi-lst.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-lst.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : true,
      "uid" : "5fe719191cd44798ab70322830800dbc",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "name" : "External Cluster",
      "description" : "First External Cluster for Tenant A",
      "location" : "AMS",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ ],
      "providerType" : "confluent-cloud",
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "66c12e42ab06458eac420f0d700fbe81",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "name" : "BYOK cluster for aiven",
      "description" : "",
      "location" : "BYOK",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ ],
      "providerType" : "aiven",
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "8ddf2473543443cebe67d704470197f1",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "name" : "Zone1 Cluster PROD",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-prod.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-prod.zone1.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : true,
      "uid" : "db0766d053ca46d59b0a1af2817c535a",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "show" : {
      "href" : "...",
      "title" : "Indication that an entity can be shown in menu"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 6,
    "totalPages" : 1,
    "number" : 0
  }
}

Create a cluster

A POST request is used to create a Cluster.

Request fields

Path Type Description Constraints

name

String

The name of the cluster. Must be unique.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 50 inclusive

description

String

A short text summarizing the purpose of the cluster.

Size must be between 0 and 200 inclusive

location

String

The data center or geographic name where this cluster is located.

Size must be between 0 and 50 inclusive

apiUrl

String

URL of Cluster API. This will be used to manage the cluster from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

clusterBrowseUrl

String

URL of Cluster Browse. This will be used to browse the cluster from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

bootstrapServers

Array

Bootstrap servers URL’s of the cluster.

Curl request

$ curl 'http://api.example.com/clusters' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "apiUrl" : "http://testcluster.acc.best.local",
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver1:9092"
  }, {
    "bootstrapServer" : "bootstrapserver2:9092"
  } ]
}'

HTTP request

POST /clusters HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 367
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "apiUrl" : "http://testcluster.acc.best.local",
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver1:9092"
  }, {
    "bootstrapServer" : "bootstrapserver2:9092"
  } ]
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/clusters/515d7c500cba4154a8c6f40f46273952
Content-Type: application/hal+json
Content-Length: 1026

{
  "uid" : "515d7c500cba4154a8c6f40f46273952",
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "billingCloudEnabled" : false,
  "apiUrl" : "http://testcluster.acc.best.local",
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ ],
  "providerType" : null,
  "authenticationInfo" : null,
  "topicPattern" : null,
  "groupPattern" : null,
  "transactionalPattern" : null,
  "sharedCluster" : false,
  "kafkaVersion" : null,
  "kafkaListeners" : { },
  "_links" : {
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "cluster" : {
      "href" : "...",
      "title" : "A cluster"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Create a cluster with provider info

A POST request is used to create a Cluster with provider info.

Request fields

Path Type Description Constraints

name

String

The name of the cluster. Must be unique.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 50 inclusive

description

String

A short text summarizing the purpose of the cluster.

Size must be between 0 and 200 inclusive

location

String

The data center or geographic name where this cluster is located.

Size must be between 0 and 50 inclusive

apiUrl

String

URL of Cluster API. This will be used to manage the cluster from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

clusterBrowseUrl

String

URL of Cluster Browse. This will be used to browse the cluster from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

bootstrapServers

Array

Bootstrap servers URL’s of the cluster.

providerType

String

The name of the provider type

providerInfo

Object

A map containing provider specific configuration

kafkaVersion

String

The Apache Kafka version

kafkaListeners

Object

A map containing the kafka listener configuration in Key,Value format

tenant

String

Tenant that is mapped to a cluster

topicPatter

String

Topic Pattern configured to a cluster

groupPatter

String

Group Pattern configured to a cluster

transactionPattern

Array

Transactional Pattern configured to a cluster

Curl request

$ curl 'http://api.example.com/clusters' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "apiUrl" : null,
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver1:9092"
  }, {
    "bootstrapServer" : "bootstrapserver2:9092"
  } ],
  "providerInfo" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "SSL",
    "Axl-Broker-Cert-ApacheKafka" : "base64-encoded-pem-certificate",
    "Axl-Broker-Private-Key-ApacheKafka" : "base64-encoded-private-key",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
  },
  "sharedCluster" : false,
  "topicPattern" : "{topic}",
  "groupPattern" : "{group}",
  "transactionalPattern" : "{transactional.id}",
  "kafkaVersion" : "3.4.0",
  "kafkaListeners" : {
    "MUTUAL_TLS" : "broker:9095",
    "SCRAM_SHA_512" : "broker:9096"
  }
}'

HTTP request

POST /clusters HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 920
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "apiUrl" : null,
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver1:9092"
  }, {
    "bootstrapServer" : "bootstrapserver2:9092"
  } ],
  "providerInfo" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "SSL",
    "Axl-Broker-Cert-ApacheKafka" : "base64-encoded-pem-certificate",
    "Axl-Broker-Private-Key-ApacheKafka" : "base64-encoded-private-key",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
  },
  "sharedCluster" : false,
  "topicPattern" : "{topic}",
  "groupPattern" : "{group}",
  "transactionalPattern" : "{transactional.id}",
  "kafkaVersion" : "3.4.0",
  "kafkaListeners" : {
    "MUTUAL_TLS" : "broker:9095",
    "SCRAM_SHA_512" : "broker:9096"
  }
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/clusters/fbddbbd1c8694be4ad425d9efe6ae1ba
Content-Type: application/hal+json
Content-Length: 1106

{
  "uid" : "fbddbbd1c8694be4ad425d9efe6ae1ba",
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "billingCloudEnabled" : false,
  "apiUrl" : null,
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ ],
  "providerType" : "apache-kafka",
  "authenticationInfo" : null,
  "topicPattern" : "{topic}",
  "groupPattern" : "{group}",
  "transactionalPattern" : "{transactional.id}",
  "sharedCluster" : false,
  "kafkaVersion" : "3.4.0",
  "kafkaListeners" : {
    "SCRAM_SHA_512" : "broker:9096",
    "MUTUAL_TLS" : "broker:9095"
  },
  "_links" : {
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "cluster" : {
      "href" : "...",
      "title" : "A cluster"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Retrieve a cluster

The clusters/{id} resource is used to retrieve, update and delete individual Clusters.

A GET request will retrieve the details of a Cluster.

Curl request

$ curl 'http://api.example.com/clusters/66c12e25ab06458eac988f0d700fbe81' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /clusters/66c12e25ab06458eac988f0d700fbe81 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1153

{
  "uid" : "66c12e25ab06458eac988f0d700fbe81",
  "name" : "Zone1 Cluster OTA",
  "description" : "",
  "location" : "Zone1",
  "billingCloudEnabled" : true,
  "apiUrl" : "http://clusterapi-ota.zone1.local",
  "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
  "bootstrapServers" : [ ],
  "providerType" : null,
  "authenticationInfo" : null,
  "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
  "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
  "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
  "sharedCluster" : true,
  "kafkaVersion" : "3.5.1",
  "kafkaListeners" : {
    "MUTUAL_TLS" : "broker:9090"
  },
  "_links" : {
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "cluster" : {
      "href" : "...",
      "title" : "A cluster"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Additionally, if the requested cluster is a shared one or an external onboarded cluster, the TENANT_ADMIN would be able to see the authentication information and cluster URL.

Curl request

$ curl 'http://api.example.com/clusters/sa23rs32ab06458eac420f0d700fbe81' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /clusters/sa23rs32ab06458eac420f0d700fbe81 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1696

{
  "uid" : "sa23rs32ab06458eac420f0d700fbe81",
  "name" : "Shared Cluster",
  "description" : "Shared Cluster for Onboarding tenant",
  "location" : "AMS",
  "billingCloudEnabled" : false,
  "apiUrl" : null,
  "clusterBrowseUrl" : null,
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver3:9093"
  } ],
  "providerType" : "apache-kafka",
  "authenticationInfo" : {
    "Axl-Broker-Private-Key-ApacheKafka" : "The Base64 encrypted client private key",
    "Axl-Sr-Password-ApacheKafka" : "",
    "Axl-Broker-Password-ApacheKafka" : "",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "MTLS",
    "Axl-Sr-Private-Key-ApacheKafka" : "",
    "Axl-Broker-Username-ApacheKafka" : "",
    "Axl-Sr-Cert-ApacheKafka" : "",
    "Axl-Sr-Protocol-Type-ApacheKafka" : "",
    "Axl-Broker-Cert-ApacheKafka" : "The Base64 encrypted Broker certificate",
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Broker-CA-Validation-ApacheKafka" : "false",
    "Axl-Sr-CA-Validation-ApacheKafka" : "",
    "Axl-Bootstrap-Server-ApacheKafka" : "apache-kafka-bootstrap-Server",
    "Axl-Sr-Username-ApacheKafka" : "",
    "Axl-Sr-Url-ApacheKafka" : ""
  },
  "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
  "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
  "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
  "sharedCluster" : false,
  "kafkaVersion" : null,
  "kafkaListeners" : { },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "cluster" : {
      "href" : "...",
      "title" : "A cluster"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Update a cluster

A PATCH request is used to update a cluster.

To leave an attribute of an instance unchanged, any of the above may be omitted from the request.

Request fields

Path Type Description Constraints

name

String

The name of the cluster. Must be unique.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 50 inclusive

description

String

A short text summarizing the purpose of the cluster.

Size must be between 0 and 200 inclusive

location

String

The data center or geographic name where this cluster is located.

Size must be between 0 and 50 inclusive

apiUrl

String

URL of Cluster API. This will be used to manage the cluster from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

clusterBrowseUrl

String

URL of Cluster Browse. This will be used to browse the cluster from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

bootstrapServers

Array

Bootstrap servers URL’s of the cluster.

providerType

String

The name of the provider type

providerInfo

Object

A map containing provider specific configuration

tenant

String

Tenant that is mapped to a cluster

topicPatter

String

Topic Pattern configured to a cluster

groupPatter

String

Group Pattern configured to a cluster

transactionPattern

Array

Transactional Pattern configured to a cluster

Curl request

$ curl 'http://api.example.com/clusters/66c12e25ab06458eac988f0d700fbe81' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "apiUrl" : "http://testcluster.acc.best.local",
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver1:9092"
  }, {
    "bootstrapServer" : "bootstrapserver2:9092"
  } ],
  "providerInfo" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "SSL",
    "Axl-Broker-Cert-ApacheKafka" : "base64-cert",
    "Axl-Broker-Private-Key-ApacheKafka" : "base64-private-key",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
  },
  "topicPattern" : "{topic}",
  "groupPattern" : "{group}",
  "transactionalPattern" : "{transactional.id}",
  "kafkaVersion" : "3.4.0",
  "kafkaListeners" : {
    "MUTUAL_TLS" : "broker:9095",
    "SCRAM_SHA_512" : "broker:9096"
  }
}'

HTTP request

PATCH /clusters/66c12e25ab06458eac988f0d700fbe81 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 897
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "apiUrl" : "http://testcluster.acc.best.local",
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ {
    "bootstrapServer" : "bootstrapserver1:9092"
  }, {
    "bootstrapServer" : "bootstrapserver2:9092"
  } ],
  "providerInfo" : {
    "Axl-Provider-Type" : "apache-kafka",
    "Axl-Broker-Protocol-Type-ApacheKafka" : "SSL",
    "Axl-Broker-Cert-ApacheKafka" : "base64-cert",
    "Axl-Broker-Private-Key-ApacheKafka" : "base64-private-key",
    "Axl-Broker-Truststore-ApacheKafka" : "ca-certificate"
  },
  "topicPattern" : "{topic}",
  "groupPattern" : "{group}",
  "transactionalPattern" : "{transactional.id}",
  "kafkaVersion" : "3.4.0",
  "kafkaListeners" : {
    "MUTUAL_TLS" : "broker:9095",
    "SCRAM_SHA_512" : "broker:9096"
  }
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/clusters/66c12e25ab06458eac988f0d700fbe81
Content-Type: application/hal+json
Content-Length: 1135

{
  "uid" : "66c12e25ab06458eac988f0d700fbe81",
  "name" : "Test Cluster ACC",
  "description" : "Test cluster for ACC in Best DC",
  "location" : "Best",
  "billingCloudEnabled" : false,
  "apiUrl" : "http://testcluster.acc.best.local",
  "clusterBrowseUrl" : "http://testclusterbrowse.acc.best.local:9999",
  "bootstrapServers" : [ ],
  "providerType" : "apache-kafka",
  "authenticationInfo" : { },
  "topicPattern" : "{topic}",
  "groupPattern" : "{group}",
  "transactionalPattern" : "{transactional.id}",
  "sharedCluster" : true,
  "kafkaVersion" : "3.4.0",
  "kafkaListeners" : {
    "SCRAM_SHA_512" : "broker:9096",
    "MUTUAL_TLS" : "broker:9095"
  },
  "_links" : {
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "cluster" : {
      "href" : "...",
      "title" : "A cluster"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Cluster search endpoints

/clusters/search/findByName

Search for a cluster by exact name.

All clusters returned by this endpoint are public clusters and the clusters owned by the tenant.
Query parameters
Parameter Description

name

Cluster name to search for.

HTTP request
GET /clusters/search/findByName?name=Zone1+Cluster+LST HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1808

{
  "_embedded" : {
    "clusters" : [ {
      "name" : "Zone1 Cluster LST",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : false,
      "apiUrl" : "http://clusterapi-lst.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-lst.zone1.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : true,
      "uid" : "f2e75fe2226745bea34ea9f56621f78f",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "show" : {
      "href" : "...",
      "title" : "Indication that an entity can be shown in menu"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

/clusters/search/findByNameContaining

Search for a cluster by name containing search term.

All clusters returned by this endpoint are public clusters and the clusters owned by the tenant.
Query parameters
Parameter Description

name

Term to search within cluster name.

HTTP request
GET /clusters/search/findByNameContaining?name=lst HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2951

{
  "_embedded" : {
    "clusters" : [ {
      "name" : "Zone2 Cluster LST",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : false,
      "apiUrl" : "http://clusterapi-lst.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-lst.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : true,
      "uid" : "5fe719191cd44798ab70322830800dbc",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "name" : "Zone1 Cluster LST",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : false,
      "apiUrl" : "http://clusterapi-lst.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-lst.zone1.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : true,
      "uid" : "f2e75fe2226745bea34ea9f56621f78f",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "cluster" : {
          "href" : "...",
          "title" : "A cluster"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "show" : {
      "href" : "...",
      "title" : "Indication that an entity can be shown in menu"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

Delete cluster endpoints

Deleting a cluster is a two-step process, a GET request to check the constraints followed by the DELETE request.

Delete cluster constraints

A GET request is used to get the constraints for deleting a cluster. The constraint indicates that a cluster could be deleted if there are no instances defined for it.

The response shows that the cluster is deletable.

Curl request
$ curl 'http://api.example.com/clusters/f2e75fe2226745bea34ea9f56621f78f/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP request
GET /clusters/f2e75fe2226745bea34ea9f56621f78f/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 52

{
  "canDelete" : true,
  "relatedInstances" : [ ]
}

The response shows that the cluster is not deletable.

Curl request
$ curl 'http://api.example.com/clusters/543c3b7d55634eba83b1472775c131c4/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP request
GET /clusters/543c3b7d55634eba83b1472775c131c4/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3542

{
  "canDelete" : false,
  "relatedInstances" : [ {
    "instanceId" : "6e37bcf4d4a44334924aa0f961286668",
    "tenant" : {
      "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "optLock" : 0,
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "contact" : null,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "shortName" : "ota2"
  }, {
    "instanceId" : "b9301e9144324928911f7d83ec40c478",
    "tenant" : {
      "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "optLock" : 0,
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "contact" : null,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "shortName" : "ota"
  }, {
    "instanceId" : "g7969bd9f3f7435aa6bc6c62cb960304",
    "tenant" : {
      "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "optLock" : 0,
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "contact" : null,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "shortName" : "lst"
  } ]
}

Delete a cluster

A DELETE request is used to delete a cluster.

Curl request
$ curl 'http://api.example.com/clusters/f2e75fe2226745bea34ea9f56621f78f' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
HTTP request
DELETE /clusters/f2e75fe2226745bea34ea9f56621f78f HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Authentication Methods

Authentication Method represents an individual authentication method available for the system. Those authentication methods are driven by the clusters used by the system.

Usually a cluster supports SSL protocol as authentication method.

Additionally, clusters can support SASL protocol with SCRAM_SHA_256, SCRAM_SHA_512 or OAUTH_BEARER mechanism.

List all authentication methods

A GET request lists all authentication methods in the system. This operation can be done by an Axual admin or a Tenant admin only.

Curl request

$ curl 'http://api.example.com/authentication_methods' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /authentication_methods HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 289

[ {
  "protocol" : "SASL",
  "mechanism" : "SCRAM_SHA_512"
}, {
  "protocol" : "SSL",
  "mechanism" : "MUTUAL_TLS"
}, {
  "protocol" : "SASL",
  "mechanism" : "SCRAM_SHA_256"
}, {
  "protocol" : "SASL",
  "mechanism" : "OAUTH_BEARER"
}, {
  "protocol" : "SASL",
  "mechanism" : "PLAIN"
} ]

Roles

Users can be assigned one or more roles.Each Role grants certain access to the Flux resources.

Valid Roles

Below are the list of roles that can be applied to any User of Flux.

Role Description

SUPER_ADMIN

Can manage Tenants, Instances and Clusters.

TENANT_ADMIN

Can do User and Group management.

APPLICATION_ADMIN

Can CREATE, READ, UPDATE applications within their own tenant.

APPLICATION_AUTHOR

Can CREATE new applications within their own tenant.

STREAM_ADMIN

Can CREATE, READ, UPDATE streams within their own tenant.

STREAM_AUTHOR

Can CREATE new streams within their own tenant.

ENVIRONMENT_ADMIN

Can CREATE, READ, UPDATE environments within their own tenant.

ENVIRONMENT_AUTHOR

Can CREATE new environments within their own tenant.

BILLING_VIEWER

Can VIEW billing info for their own tenant.

BILLING_INTERNAL

Can VIEW usage stats for all tenants.

GROUP_ADMIN role is deprecated now and all the group management has moved to TENANT_ADMIN role.

Assigning Roles to Users

To assign a role to any user, send a PATCH request to the endpoint /users/uid/roles. The request body should be an array of 1 or more roles as shown below:

HTTP request

PATCH /users/dc67596abe224691a363a230ca1e291e/roles HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 70
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

[ {
  "name" : "STREAM_ADMIN"
}, {
  "name" : "APPLICATION_AUTHOR"
} ]

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Request fields

Path Type Description Constraints

[].name

String

The name of the role to assign.

This operation will replace all existing roles with the new set of roles provided in the request.

If an invalid role is passed (not present in above table), a 400 Bad Request is returned.

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Invalid request body. Please check API docs for building correct request." ],
  "subErrors" : null
}

Business rules when assigning roles

  1. Only TENANT_ADMIN users are allowed to assign roles for other users of same tenant.

  2. TENANT_ADMIN users can assign any roles except SUPER_ADMIN role.

  3. SUPER_ADMIN users can assign only SUPER_ADMIN role to users of super tenant.

Tenants

Tenant represents an individual customer of Axual Event Bus (AEB). A tenant can have multiple environments that map to a particular instance of AEB. Tenant can also have multiple Streams on multiple Environments on a particular instance of AEB.

Tenants are never visible to a tenant user. Logged-in user can see basic information like name and logo of his own tenant

The tenants collection resource is used to create and list tenants.

Tenant schema

The tenants resource uses the following json-schema:

HTTP request

GET /profile/tenants HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 2703

{
  "title" : "Tenant",
  "properties" : {
    "uniqueConsumerGroup" : {
      "title" : "Unique consumer group",
      "readOnly" : false,
      "type" : "boolean"
    },
    "issuerUrl" : {
      "title" : "Issuer url",
      "readOnly" : false,
      "type" : "string"
    },
    "dataClassificationEnabled" : {
      "title" : "Data classification enabled",
      "readOnly" : false,
      "type" : "boolean"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "wizardCompleted" : {
      "title" : "Wizard completed",
      "readOnly" : false,
      "type" : "boolean"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "contact" : {
      "title" : "Contact",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "customerId" : {
      "title" : "Customer id",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "logo" : {
      "title" : "Logo",
      "readOnly" : false,
      "type" : "string"
    },
    "shortName" : {
      "title" : "Short name",
      "readOnly" : false,
      "type" : "string"
    },
    "supportedAuthenticationMethods" : {
      "title" : "Supported authentication methods",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/tenantAuthenticationMethods"
      }
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    }
  },
  "definitions" : {
    "tenantAuthenticationMethods" : {
      "type" : "object",
      "properties" : {
        "protocol" : {
          "title" : "Protocol",
          "readOnly" : false,
          "type" : "string"
        },
        "rank" : {
          "title" : "Rank",
          "readOnly" : false,
          "type" : "integer"
        },
        "mechanism" : {
          "title" : "Mechanism",
          "readOnly" : false,
          "type" : "string",
          "enum" : [ "MUTUAL_TLS", "SCRAM_SHA_256", "SCRAM_SHA_512", "OAUTH_BEARER", "PLAIN" ]
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all tenants

A GET request lists all tenants in the system. This operation can be done by an Axual admin only.

Curl request

$ curl 'http://api.example.com/tenants' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /tenants HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 12922

{
  "_embedded" : {
    "tenants" : [ {
      "properties" : { },
      "name" : "Super Test Tenant",
      "shortName" : "supertenant",
      "uniqueConsumerGroup" : true,
      "logo" : "supertenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/supertenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c24cad8d9c97faa5a375ac",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Clean Tenant cc",
      "shortName" : "clntntcc",
      "uniqueConsumerGroup" : true,
      "logo" : "clean.png",
      "issuerUrl" : "http://api.example.com/auth/realms/clntntcc",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c42ha69d9c97f420a375ac",
      "created_at" : "2023-03-10T03:16:23",
      "modified_at" : "2023-03-10T03:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "BYOK Tenant",
      "shortName" : "BYOKtenant",
      "uniqueConsumerGroup" : true,
      "logo" : "BYOKtenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1149c97f04c42had8d9c97faa5a375ac",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Limited BYOK Tenant",
      "shortName" : "LmtBYOKtnt",
      "uniqueConsumerGroup" : false,
      "logo" : "BYOKtenant.png",
      "issuerUrl" : "http://api.example.com/auth/realms/limitedBYOKtenant",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1248c97f04c42had8d9c97faa5a375bd",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "Clean Tenant aiven",
      "shortName" : "clntnt",
      "uniqueConsumerGroup" : true,
      "logo" : "clean.png",
      "issuerUrl" : "http://api.example.com/auth/realms/clntnt",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "1259c97f04c42ha69d9c97f420a375ac",
      "created_at" : "2023-03-10T03:16:23",
      "modified_at" : "2023-03-10T03:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "TenantWithNoEnv",
      "shortName" : "tenNoEnv",
      "uniqueConsumerGroup" : true,
      "logo" : "tenantWithNoEnv.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenantWithNoEnv",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "12s34t9629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantActiveSubscription",
      "shortName" : "tenantS",
      "uniqueConsumerGroup" : true,
      "logo" : "tenantActiveSubs.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenantActiveSubs",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "12we419629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : { },
      "name" : "TenantForSharedCluster",
      "shortName" : "tenantSC",
      "uniqueConsumerGroup" : true,
      "logo" : "tenantSharedCluster.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenantSharedCluster",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_512"
      } ],
      "wizardCompleted" : false,
      "customerId" : null,
      "uid" : "23e42t9629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : {
        "replication.factor" : "9",
        "cleanup.policy" : "compact",
        "min.insync.replicas" : "9",
        "segment.ms" : "999999999"
      },
      "name" : "TenantB",
      "shortName" : "tenantb",
      "uniqueConsumerGroup" : true,
      "logo" : "tenantb.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenantb",
      "dataClassificationEnabled" : true,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "ddb92faaa7c74dfe9e579c69e3782fe8",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 10,
    "totalPages" : 1,
    "number" : 0
  }
}

Create tenant

A POST request is used to create a new tenant. This operation can be done by an Axual admin only.

Request fields

Path Type Description Constraints

name

String

Full name of the tenant

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 50 inclusive

shortName

String

Short name of the tenant

Must match the regular expression (?i)^[a-z0-9]+$. Must not be empty. Size must be between 3 and 12 inclusive

supportedAuthenticationMethods

Array

A list of supported authentication methods. If not specified, default value is SSL. Each authentication methods has a rank defining the order, 0 is the first.

Must not be empty. Must not be null

properties

Object

A list of Tenant specific variables in Key,Value format.

retentionTime

Number

The time in milliseconds after which the messages can be deleted from all streams. This is an optional field. If not specified, default value is 7 days (604800000).

partitions

Number

Defines the number of partitions configured for every stream of this tenant. This is an optional field. If not specified, default value is 12

Curl request

$ curl 'http://api.example.com/tenants' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Test Tenant",
  "shortName" : "test",
  "issuerUrl" : "http://some.issuer.url",
  "retentionTime" : 50000,
  "partitions" : 12,
  "supportedAuthenticationMethods" : [ {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256",
    "rank" : 0
  } ]
}'

HTTP request

POST /tenants HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 265
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Test Tenant",
  "shortName" : "test",
  "issuerUrl" : "http://some.issuer.url",
  "retentionTime" : 50000,
  "partitions" : 12,
  "supportedAuthenticationMethods" : [ {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256",
    "rank" : 0
  } ]
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:41:57 GMT
Location: http://api.example.com/tenants/65029a4e037c4f5296ed6e8811f3408b
Content-Type: application/hal+json
Content-Length: 1074

{
  "properties" : {
    "cleanup.policy" : "delete"
  },
  "name" : "Test Tenant",
  "shortName" : "test",
  "uniqueConsumerGroup" : true,
  "logo" : null,
  "issuerUrl" : "http://some.issuer.url",
  "dataClassificationEnabled" : false,
  "supportedAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "wizardCompleted" : false,
  "customerId" : null,
  "uid" : "65029a4e037c4f5296ed6e8811f3408b",
  "created_at" : "2024-04-10T14:41:57.498641435",
  "modified_at" : "2024-04-10T14:41:57.498641435",
  "created_by" : "superadmin@supertesttenant.nl",
  "modified_by" : "superadmin@supertesttenant.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "contact" : {
      "href" : "...",
      "templated" : true,
      "title" : "Business contact of this tenant"
    }
  }
}

Retrieve a tenant

The tenants/{id} item resource is used to retrieve, update and delete individual tenants.

A GET request will retrieve the details of a Tenant.

If, inside the details of a Tenant, is display _embedded property, it means the contact for the current Tenant is not yet set. Otherwise, if it is present, the _embedded property contains all the user detail of the contact.

At the bottom of the details of a Tenant there are links that point directly to the User detail page of contact, if it is set already, otherwise the link point to 'ResourceNotFound'.

Curl request

$ curl 'http://api.example.com/tenants/55ef719629a94a07b9bf8ac0f3c495e5' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /tenants/55ef719629a94a07b9bf8ac0f3c495e5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 1251

{
  "properties" : {
    "replication.factor" : "1",
    "cleanup.policy" : "delete",
    "min.insync.replicas" : "1"
  },
  "name" : "TenantA",
  "shortName" : "tenanta",
  "uniqueConsumerGroup" : true,
  "logo" : "tenanta.png",
  "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
  "dataClassificationEnabled" : false,
  "supportedAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  } ],
  "wizardCompleted" : true,
  "customerId" : null,
  "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "contact" : {
      "href" : "...",
      "templated" : true,
      "title" : "Business contact of this tenant"
    }
  }
}
Relation Description

edit

Existence of this link indicates that the currently authenticated user can edit this Tenant

Update a tenant name

A PATCH request is used to update a tenant. Only an Axual admin can perform this action.

$ curl 'http://api.example.com/tenants/55ef719629a94a07b9bf8ac0f3c495e5' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "New Tenant"
}'
PATCH /tenants/55ef719629a94a07b9bf8ac0f3c495e5 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 27
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "New Tenant"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Wed, 10 Apr 2024 14:41:57 GMT
Content-Type: application/hal+json
Content-Length: 1281

{
  "properties" : {
    "replication.factor" : "1",
    "cleanup.policy" : "delete",
    "min.insync.replicas" : "1"
  },
  "name" : "New Tenant",
  "shortName" : "tenanta",
  "uniqueConsumerGroup" : true,
  "logo" : "tenanta.png",
  "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
  "dataClassificationEnabled" : false,
  "supportedAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  } ],
  "wizardCompleted" : true,
  "customerId" : null,
  "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2024-04-10T14:41:57.537568683",
  "created_by" : null,
  "modified_by" : "tenadmin@tenanta.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "contact" : {
      "href" : "...",
      "templated" : true,
      "title" : "Business contact of this tenant"
    }
  }
}

Update tenant shortname

A PATCH request is used to update the tenant. Once the tenant is created, tenant shortname cannot be updated.

PATCH /tenants/55ef719629a94a07b9bf8ac0f3c495e5 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 32
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "shortName" : "New Tenant"
}
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 303

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Tenant short-name can not be edited." ],
  "subErrors" : [ {
    "field" : "Tenant.shortName",
    "rejectedValue" : "New Tenant",
    "recommendedValues" : null,
    "errors" : [ "Tenant short-name can not be edited." ]
  } ]
}

Update a tenant supported authentication methods

A PATCH request is used to update a tenant supportedAuthenticationMethods. These supportedAuthenticationMethods define which type of authentication will be required to any applications connecting to a tenant’s instance.

Each supportedAuthenticationMethods has a rank defining the order of importance, the lowest rank has the top priority.

Allowed values are:

Protocol Mechanism

SSL

MUTUAL_TLS

SASL

SCRAM_SHA_256

SASL

SCRAM_SHA_512

SASL

OAUTH_BEARER

$ curl 'http://api.example.com/tenants/55ef719629a94a07b9bf8ac0f3c495e5' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "supportedAuthenticationMethods" : [ {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256",
    "rank" : 2
  }, {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS",
    "rank" : 1
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_512",
    "rank" : 0
  }, {
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER",
    "rank" : 3
  } ]
}'
PATCH /tenants/55ef719629a94a07b9bf8ac0f3c495e5 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 366
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "supportedAuthenticationMethods" : [ {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256",
    "rank" : 2
  }, {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS",
    "rank" : 1
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_512",
    "rank" : 0
  }, {
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER",
    "rank" : 3
  } ]
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Wed, 10 Apr 2024 14:41:57 GMT
Content-Type: application/hal+json
Content-Length: 1360

{
  "properties" : {
    "replication.factor" : "1",
    "cleanup.policy" : "delete",
    "min.insync.replicas" : "1"
  },
  "name" : "TenantA",
  "shortName" : "tenanta",
  "uniqueConsumerGroup" : true,
  "logo" : "tenanta.png",
  "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
  "dataClassificationEnabled" : false,
  "supportedAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_512"
  }, {
    "rank" : 3,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 1,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "wizardCompleted" : true,
  "customerId" : null,
  "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2024-04-10T14:41:57.708263511",
  "created_by" : null,
  "modified_by" : "tenadmin@tenanta.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "contact" : {
      "href" : "...",
      "templated" : true,
      "title" : "Business contact of this tenant"
    }
  }
}

Search endpoints

/tenants/search/findByName

Search for a tenant by exact name.

Parameter Description

name

Exact name to search for.

GET /tenants/search/findByName?name=TenantA HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1614

{
  "_embedded" : {
    "tenants" : [ {
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/tenants/search/findByNameContaining

Search for a tenant by name containing search term.

Parameter Description

name

Term to search for within tenant name.

GET /tenants/search/findByNameContaining?name=TenantA HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3205

{
  "_embedded" : {
    "tenants" : [ {
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantActiveSubscription",
      "shortName" : "tenantS",
      "uniqueConsumerGroup" : true,
      "logo" : "tenantActiveSubs.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenantActiveSubs",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "12we419629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    }, {
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

/tenants/search/findByShortName

Search for a tenant by exact short name.

Parameter Description

shortName

Tenant short name to search for.

GET /tenants/search/findByShortName?shortName=tenanta HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1614

{
  "_embedded" : {
    "tenants" : [ {
      "properties" : {
        "replication.factor" : "1",
        "cleanup.policy" : "delete",
        "min.insync.replicas" : "1"
      },
      "name" : "TenantA",
      "shortName" : "tenanta",
      "uniqueConsumerGroup" : true,
      "logo" : "tenanta.png",
      "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
      "dataClassificationEnabled" : false,
      "supportedAuthenticationMethods" : [ {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      } ],
      "wizardCompleted" : true,
      "customerId" : null,
      "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "contact" : {
          "href" : "...",
          "templated" : true,
          "title" : "Business contact of this tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

Onboard Tenant With Shared Cluster

This POST endpoint is used to onboard a new tenant with the shared cluster.

Curl request

$ curl 'http://api.example.com/tenants/23e42t9629a94a07b9bf8ac0f3c495e5/onboard' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'

HTTP request

POST /tenants/23e42t9629a94a07b9bf8ac0f3c495e5/onboard HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

HTTP response

HTTP/1.1 200 OK

Users

A User is a person logging into Self-Service. Every user is identified by a unique email address that also identifies the Tenant they belong to. A user can never see users of other tenant.

The /users resource is used to create and list users.

Users Schema

The /users resource uses the following json-schema:

GET /profile/users HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 2012

{
  "title" : "User",
  "properties" : {
    "firstName" : {
      "title" : "First name",
      "readOnly" : false,
      "type" : "string"
    },
    "lastName" : {
      "title" : "Last name",
      "readOnly" : false,
      "type" : "string"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "emailAddress" : {
      "title" : "Email address",
      "readOnly" : false,
      "type" : "object",
      "$ref" : "#/definitions/emailAddress"
    },
    "phoneNumber" : {
      "title" : "Phone number",
      "readOnly" : false,
      "type" : "string"
    },
    "roles" : {
      "title" : "Roles",
      "readOnly" : true,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/role"
      }
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "fullName" : {
      "title" : "Full name",
      "readOnly" : true,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "middleName" : {
      "title" : "Middle name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    }
  },
  "definitions" : {
    "emailAddress" : {
      "type" : "object",
      "properties" : {
        "email" : {
          "title" : "Email",
          "readOnly" : true,
          "type" : "string"
        }
      }
    },
    "role" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "title" : "Name",
          "readOnly" : false,
          "type" : "string"
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all users

A GET request will list all users belonging to the same tenant as the logged in user.

Curl request

$ curl 'http://api.example.com/users' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /users HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 12406

{
  "_embedded" : {
    "users" : [ {
      "firstName" : "kad",
      "emailAddress" : {
        "email" : "kadmember@tenanta.nl"
      },
      "lastName" : "member",
      "uid" : "007b994a6ab34165a93fd4c7a8db1388",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "envOwner",
      "emailAddress" : {
        "email" : "envowner@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "firstNameTest",
      "emailAddress" : {
        "email" : "testuser@tenanta.nl"
      },
      "lastName" : "lastNameTest",
      "uid" : "1759cc36cacd4df38ed1b0336e22e06d",
      "middleName" : "van der",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "po2",
      "emailAddress" : {
        "email" : "po2@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "1ecbda9a995f4ab2a4c95716087b21c7",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "streamOwner",
      "emailAddress" : {
        "email" : "streamowner@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "1ecbda9a995f4ab2a4c95716087b21c8",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "strAuthor",
      "emailAddress" : {
        "email" : "strauthor@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "3cab41ad252e48a49631d1346d227a17",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "appOwner",
      "emailAddress" : {
        "email" : "appowner@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "51234a7a81994d1ca35ca7894cde08c6",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "po1",
      "emailAddress" : {
        "email" : "po1@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "51234a7a81994d1ca35ca7894cde08c9",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "envAdmin",
      "emailAddress" : {
        "email" : "envadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "7cb463240b8049578b298c214c28512a",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "envAuthor",
      "emailAddress" : {
        "email" : "envauthor@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "strAdmin",
      "emailAddress" : {
        "email" : "stradmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "a0018341100c431d8a8117be2ad12d8a",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "appAdmin",
      "emailAddress" : {
        "email" : "appadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "caa51002633244ffbe36f4ccf8a8f501",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "powerUser",
      "emailAddress" : {
        "email" : "poweruser@tenanta.nl"
      },
      "lastName" : "powerUser",
      "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "regular",
      "emailAddress" : {
        "email" : "regularuser@tenanta.nl"
      },
      "lastName" : "user",
      "uid" : "dc67596abe224691a363a230ca1e291e",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "appAuthor",
      "emailAddress" : {
        "email" : "appauthor@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "billingViewer",
      "emailAddress" : {
        "email" : "billingViewer@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "ea0e7f147d224133a151bdc69f5bb613",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "tenAdmin",
      "emailAddress" : {
        "email" : "tenadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "ea0e7f147df84179a151bdc21f5bb813",
      "middleName" : "middleName",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "supAdmin",
      "emailAddress" : {
        "email" : "supadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "eb1f7f147df84179a151bdc21f5bb924",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "billingInternal",
      "emailAddress" : {
        "email" : "billingInternal@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "fc287f147df84179a151bdc21f5cc835",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "tenAdmin",
      "emailAddress" : {
        "email" : "noGroup@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "w3f45f147df84179a151bdc21f5bb813",
      "middleName" : "middleName",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 20,
    "totalPages" : 1,
    "number" : 0
  }
}
Relation Description

create

Existence of this link indicates that the currently authenticated user can create a User

Retrieve a user

The /users/{id} item resource is used to retrieve, update individual users.

A GET request will retrieve the details of a User.

Curl request

$ curl 'http://api.example.com/users/dc67596abe224691a363a230ca1e291e' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /users/dc67596abe224691a363a230ca1e291e HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 1013

{
  "firstName" : "regular",
  "lastName" : "user",
  "middleName" : null,
  "emailAddress" : {
    "email" : "regularuser@tenanta.nl"
  },
  "phoneNumber" : null,
  "roles" : [ ],
  "fullName" : "regular user",
  "uid" : "dc67596abe224691a363a230ca1e291e",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "user" : {
      "href" : "...",
      "templated" : true,
      "title" : "A user"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "assign_roles" : {
      "href" : "...",
      "title" : "Indication that authenticated user can assign roles to this user"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}
Relation Description

edit

Existence of this link indicates that the currently authenticated user can edit the User

assign_roles

Existence of this link indicates that the currently authenticated user can assign roles to this user

delete

Existence of this link indicates that the currently authenticated user can delete this user

Create User

The endpoint /users is now deprecated. Please contact the Administration team regarding the topic of creating new Users.

A POST request is used to create a new User. This operation can be done by a Tenant Admin only.

Request fields

Path Type Description Constraints

firstName

String

The first name of the user

Must not be empty. Size must be between 1 and 50 inclusive

lastName

String

The last name of the user

Must not be empty. Size must be between 1 and 50 inclusive

middleName

String

The tussenvoegsel of the user

Size must be between 0 and 16 inclusive

emailAddress

String

The complete mail address of the user

password

String

The password of the user

Size must be between 0 and 72 inclusive

phoneNumber

String

The phoneNumber of the user

This is an optional field. Must be a valid phone number like +31612345678 or 0612345678.

Curl request

$ curl 'http://api.example.com/users' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "firstName" : "User",
  "lastName" : "Vrij",
  "middleName" : "van",
  "emailAddress" : "user.van.vrij@tenanta.nl",
  "password" : "notsecret",
  "phoneNumber" : "0612345678"
}'

HTTP request

POST /users HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 180
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "firstName" : "User",
  "lastName" : "Vrij",
  "middleName" : "van",
  "emailAddress" : "user.van.vrij@tenanta.nl",
  "password" : "notsecret",
  "phoneNumber" : "0612345678"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:43:33 GMT
Location: http://api.example.com/users/523c7989f4094251a4b1a23aba0d2e8e
Content-Type: application/hal+json
Content-Length: 1076

{
  "firstName" : "User",
  "lastName" : "Vrij",
  "middleName" : "van",
  "emailAddress" : {
    "email" : "user.van.vrij@tenanta.nl"
  },
  "phoneNumber" : "0612345678",
  "roles" : [ ],
  "fullName" : "User van Vrij",
  "uid" : "523c7989f4094251a4b1a23aba0d2e8e",
  "created_at" : "2024-04-10T14:43:33.623369564",
  "modified_at" : "2024-04-10T14:43:33.623369564",
  "created_by" : "tenadmin@tenanta.nl",
  "modified_by" : "tenadmin@tenanta.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "user" : {
      "href" : "...",
      "templated" : true,
      "title" : "A user"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "assign_roles" : {
      "href" : "...",
      "title" : "Indication that authenticated user can assign roles to this user"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Update user

A PATCH request is used to update a User.

Update phoneNumber

$ curl 'http://api.example.com/users/dc67596abe224691a363a230ca1e291e' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "phoneNumber" : "+31063433333"
}'
PATCH /users/dc67596abe224691a363a230ca1e291e HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 36
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "phoneNumber" : "+31063433333"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 1023

{
  "firstName" : "regular",
  "lastName" : "user",
  "middleName" : null,
  "emailAddress" : {
    "email" : "regularuser@tenanta.nl"
  },
  "phoneNumber" : "+31063433333",
  "roles" : [ ],
  "fullName" : "regular user",
  "uid" : "dc67596abe224691a363a230ca1e291e",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "user" : {
      "href" : "...",
      "templated" : true,
      "title" : "A user"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "assign_roles" : {
      "href" : "...",
      "title" : "Indication that authenticated user can assign roles to this user"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    }
  }
}

Delete user

A DELETE request is used to delete a User.

$ curl 'http://api.example.com/users/007b994a6ab34165a93fd4c7a8db1388' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /users/007b994a6ab34165a93fd4c7a8db1388 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Users search endpoints

/users/search/findByFirstName

Returns all users with firstName containing the given firstName.

Parameter Description

firstName

A name or part of name

GET /users/search/findByFirstName?firstName=poweruser HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 936

{
  "_embedded" : {
    "users" : [ {
      "firstName" : "powerUser",
      "emailAddress" : {
        "email" : "poweruser@tenanta.nl"
      },
      "lastName" : "powerUser",
      "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

/users/search/findByLastName

Returns all users with lastName containing the given lastName.

Parameter Description

lastName

A surname or part of surname

GET /users/search/findByLastName?lastName=lastNameTest HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 947

{
  "_embedded" : {
    "users" : [ {
      "firstName" : "firstNameTest",
      "emailAddress" : {
        "email" : "testuser@tenanta.nl"
      },
      "lastName" : "lastNameTest",
      "uid" : "1759cc36cacd4df38ed1b0336e22e06d",
      "middleName" : "van der",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

/users/search/searchUser

Returns all users with firstName, middleName, lastName, localPart containing the given searchKeyword.

Parameter Description

searchKeyword

The key word used to search

GET /users/search/searchUser?searchKeyword=tenAdmin HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1537

{
  "_embedded" : {
    "users" : [ {
      "firstName" : "tenAdmin",
      "emailAddress" : {
        "email" : "tenadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "ea0e7f147df84179a151bdc21f5bb813",
      "middleName" : "middleName",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "tenAdmin",
      "emailAddress" : {
        "email" : "noGroup@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "w3f45f147df84179a151bdc21f5bb813",
      "middleName" : "middleName",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

/users/search/findByRole

Returns all users with given roles. Pass the name of the role as parameter.

Parameter Description

role

The name of role

GET /users/search/findByRole?role=TENANT_ADMIN HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1534

{
  "_embedded" : {
    "users" : [ {
      "firstName" : "powerUser",
      "emailAddress" : {
        "email" : "poweruser@tenanta.nl"
      },
      "lastName" : "powerUser",
      "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    }, {
      "firstName" : "tenAdmin",
      "emailAddress" : {
        "email" : "tenadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "ea0e7f147df84179a151bdc21f5bb813",
      "middleName" : "middleName",
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

/users/search/findByEmailAddress

Return user with emailAddress as the given emailAddress

Parameter Description

email

A valid email object

GET /users/search/findByEmailAddress?email=appowner%40tenanta.nl HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 745

{
  "_embedded" : {
    "users" : [ {
      "firstName" : "appOwner",
      "emailAddress" : {
        "email" : "appowner@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "51234a7a81994d1ca35ca7894cde08c6",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "user" : {
          "href" : "...",
          "templated" : true,
          "title" : "A user"
        },
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

Groups

A group in Flux represents a DevOps team within a tenant. Although different tenants may have different names for their teams, in Flux, they are represented by a group.

Group permissions

Every group can have zero or more users. Being a member of a group grants you certain permissions. The permission depends on the resource the group owns. If a group is owner of an application, every member of that group will have full rights on that application. This includes editing and even deleting the application.

Any group can be attached to an application, stream or environment. These resources have a owners field which represent the group that owns the resource. A resource can exist without any group owning it.

When listing a resource that has an existing 'owners' group, it will be show as embedded object of the resource. If the resource has no 'owners' group, it will be not shown as embedded object of the resource.

Group schema

The groups resource uses the following json-schema:

GET /profile/groups HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 1536

{
  "title" : "Group",
  "properties" : {
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "emailAddress" : {
      "title" : "Email address",
      "readOnly" : false,
      "type" : "object",
      "$ref" : "#/definitions/emailAddress"
    },
    "phoneNumber" : {
      "title" : "Phone number",
      "readOnly" : false,
      "type" : "string"
    },
    "members" : {
      "title" : "Members",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    }
  },
  "definitions" : {
    "emailAddress" : {
      "type" : "object",
      "properties" : {
        "email" : {
          "title" : "Email",
          "readOnly" : true,
          "type" : "string"
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all groups

A GET request will list all the groups visible to the currently logged in user.

Curl request

$ curl 'http://api.example.com/groups' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /groups HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7313

{
  "_embedded" : {
    "groups" : [ {
      "name" : "Stream-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : "abc789964",
      "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Team Null",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "514d4e9a834841699644c2420b439553",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Team Kad",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "514d4e9a834841869644c2ad8b439553",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Team Gone",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "514d4oit834841869644c2ad8b439553",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Team App Admins",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "514d4oit834841869644c2ad8b439997",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Environment-tenantaenv22",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "66625b8c334d48ac88abff939e9cf453",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Stream-tenAApplication2",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "88eb98e0eff34fde923c15687e6d75d5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Environment-tenAenv1",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Application-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    }, {
      "name" : "Environment-tenAprivenv2",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "d40d27a07da04096a592aeef9a029cda",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 10,
    "totalPages" : 1,
    "number" : 0
  }
}
Relation Description

create

Existence of this link indicates that the currently authenticated user can create a Group

Create group

A POST request is used to create a new group. A group can only be created by a user having GROUP_ADMIN role.

Request fields

Path Type Description Constraints

name

String

The name of the group.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 80 inclusive

members

Array

Users belonging to this group. This field would be absent if group has no members.

emailAddress

String

Email address of this group. Optional.

properties

Object

A list of Group specific variables in Key,Value format.

phoneNumber

String

Phone number to contact this group. Optional.

Must be a valid phone number like +31612345678 or 0612345678.

Curl request

$ curl 'http://api.example.com/groups' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Team Amazing",
  "emailAddress" : "team.amazing@tenanta.nl",
  "phoneNumber" : "+31612345678",
  "members" : [ "http://api.example.com/users/9e66c8d7cd5c4e509ec0fe840ef37c62" ],
  "properties" : {
    "group.property1" : "value1",
    "group.property2" : "value2",
    "group.property3" : "value3",
    "group.property4" : "value4",
    "group.property5" : "value5"
  }
}'

HTTP request

POST /groups HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 385
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Team Amazing",
  "emailAddress" : "team.amazing@tenanta.nl",
  "phoneNumber" : "+31612345678",
  "members" : [ "http://api.example.com/users/9e66c8d7cd5c4e509ec0fe840ef37c62" ],
  "properties" : {
    "group.property1" : "value1",
    "group.property2" : "value2",
    "group.property3" : "value3",
    "group.property4" : "value4",
    "group.property5" : "value5"
  }
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:42:06 GMT
Location: http://api.example.com/groups/0cfc4edc31ac41daaf7d7cd9cf992b33
Content-Type: application/hal+json
Content-Length: 1641

{
  "name" : "Team Amazing",
  "emailAddress" : {
    "email" : "team.amazing@tenanta.nl"
  },
  "phoneNumber" : "+31612345678",
  "properties" : {
    "group.property1" : "value1",
    "group.property2" : "value2",
    "group.property3" : "value3",
    "group.property4" : "value4",
    "group.property5" : "value5"
  },
  "uid" : "0cfc4edc31ac41daaf7d7cd9cf992b33",
  "created_at" : "2024-04-10T14:42:06.159767451",
  "modified_at" : "2024-04-10T14:42:06.159767451",
  "created_by" : "tenadmin@tenanta.nl",
  "modified_by" : "tenadmin@tenanta.nl",
  "_embedded" : {
    "members" : [ {
      "firstName" : "envAuthor",
      "emailAddress" : {
        "email" : "envauthor@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "group" : {
      "href" : "...",
      "templated" : true,
      "title" : "A group"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "members" : {
      "href" : "...",
      "templated" : true,
      "title" : "Users belonging to this group"
    }
  }
}
Relation Description

members

The members of this Group can be found at this link. This link is also used add/remove users from this group.

Retrieve a group

A GET request on /groups/{id} will fetch the details of the group.

HTTP request

GET /groups/c339c5cf9b5a4f6b8342c6ea2f9b6775 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Content-Type: application/hal+json
Content-Length: 2374

{
  "name" : "Application-tenAApplication1",
  "emailAddress" : null,
  "phoneNumber" : null,
  "properties" : { },
  "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : null,
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "members" : [ {
      "firstName" : "envAuthor",
      "emailAddress" : {
        "email" : "envauthor@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "firstName" : "envAdmin",
      "emailAddress" : {
        "email" : "envadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "7cb463240b8049578b298c214c28512a",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "firstName" : "appOwner",
      "emailAddress" : {
        "email" : "appowner@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "51234a7a81994d1ca35ca7894cde08c6",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "group" : {
      "href" : "...",
      "templated" : true,
      "title" : "A group"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "members" : {
      "href" : "...",
      "templated" : true,
      "title" : "Users belonging to this group"
    }
  }
}

Response fields

Path Type Description

name

String

The name of the group.

members

Array

Users belonging to this group. This field would be absent if group has no members.

Relation Description

members

The members of this Group can be found at this link. This link is also used add/remove users from this group.

edit

Existence of this link indicates that the currently authenticated user can edit the Group

delete

Existence of this link indicates that the currently authenticated user can delete the Group

Update a Group

A PATCH request is used to update a Group. Below is an example where name of the group is modified.

$ curl 'http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Team Medallion"
}'
PATCH /groups/c339c5cf9b5a4f6b8342c6ea2f9b6775 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 31
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Team Medallion"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Content-Type: application/hal+json
Content-Length: 2253

{
  "name" : "Team Medallion",
  "emailAddress" : null,
  "phoneNumber" : null,
  "properties" : { },
  "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : null,
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "members" : [ {
      "firstName" : "envAuthor",
      "emailAddress" : {
        "email" : "envauthor@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "firstName" : "envAdmin",
      "emailAddress" : {
        "email" : "envadmin@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "7cb463240b8049578b298c214c28512a",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "firstName" : "appOwner",
      "emailAddress" : {
        "email" : "appowner@tenanta.nl"
      },
      "lastName" : "TenantA",
      "uid" : "51234a7a81994d1ca35ca7894cde08c6",
      "middleName" : null,
      "phoneNumber" : null,
      "_links" : {
        "tenant" : {
          "href" : "...",
          "title" : "A tenant"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "group" : {
      "href" : "...",
      "templated" : true,
      "title" : "A group"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "members" : {
      "href" : "...",
      "templated" : true,
      "title" : "Users belonging to this group"
    }
  }
}

Delete endpoints

Deleting group is a two-step process a GET request to check the constraints followed by the DELETE request

Delete group constraints

A GET request is used to get the constraints for deleting Group.

$ curl 'http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 102

{
  "canDelete" : false,
  "environmentsCount" : 0,
  "applicationsCount" : 24,
  "streamsCount" : 0
}

Delete group

A DELETE request is used to delete a Group.

$ curl 'http://api.example.com/groups/514d4oit834841869644c2ad8b439553' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /groups/514d4oit834841869644c2ad8b439553 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Add user to group

To add an existing user to a group, a POST request to the members link must be placed with the URI of the user in request body as shown below. The Content-Type header should be set to text/uri-list. To add multiple users in 1 request, specify multiple URIs in separate lines.

$ curl 'http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/members' -i -X POST \
    -H 'Content-Type: text/uri-list;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d 'http://localhost/users/dc67596abe224691a363a230ca1e291e'
POST /groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/members HTTP/1.1
Content-Type: text/uri-list;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 55
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

http://localhost/users/dc67596abe224691a363a230ca1e291e
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Replace existing users in group

It is possible to replace all existing users of a group with new user by placing a PUT request to the members link. The request body should have the URI(s) of the users that must be added. Content-Type header must be text/uri-list. This operation will remove all existing users and replace with the user provided in the body.

This operation can be used to remove a single user. First fetch the current members array, then delete the user that should be removed from the array and finally send the PUT request with new array in request body.

$ curl 'http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/members' -i -X PUT \
    -H 'Content-Type: text/uri-list' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d 'http://localhost/users/dc67596abe224691a363a230ca1e291e'
PUT /groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/members HTTP/1.1
Content-Type: text/uri-list
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 55
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

http://localhost/users/dc67596abe224691a363a230ca1e291e
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Remove user from group

To remove a single user from a group, send a DELETE request to /groups/gid/members/uid endpoint where gid is the UID of the group and uid is the UID of the user to be removed.

$ curl 'http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/members/51234a7a81994d1ca35ca7894cde08c6' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /groups/c339c5cf9b5a4f6b8342c6ea2f9b6775/members/51234a7a81994d1ca35ca7894cde08c6 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Group search endpoints

/groups/search/findByName

Search for a group by exact name.

Parameter Description

name

Stream name to search for.

$ curl 'http://api.example.com/groups/search/findByName?name=tenanta-stream1' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 256

{
  "_embedded" : {
    "groups" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

/groups/search/findByNameContaining

Search for a group by name containing search term.

Parameter Description

name

Term to search within group name.

$ curl 'http://api.example.com/groups/search/findByNameContaining?name=group' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 256

{
  "_embedded" : {
    "groups" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

/groups/search/findByMembersContains

Search for a group by user having a valid URI of an existing User.

Parameter Description

user

A valid URI of a user

$ curl 'http://api.example.com/groups/search/findByMembersContains?user=http%3A%2F%2Flocalhost%2Fusers%2F007b994a6ab34165a93fd4c7a8db1388' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 919

{
  "_embedded" : {
    "groups" : [ {
      "name" : "Team Kad",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "514d4e9a834841869644c2ad8b439553",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "group" : {
          "href" : "...",
          "templated" : true,
          "title" : "A group"
        },
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Instances

An Instance represents a single installation of Axual Event Bus (AEB). An AEB instance is usually marked for a particular functionality like Acceptance testing, Load/Stress testing etc.

The instances collection resource is used to create and list Instances.

Instance Schema

The instances resource uses the following json-schema:

GET /profile/instances HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 5263

{
  "title" : "Instance",
  "properties" : {
    "connectCerts" : {
      "title" : "Connect certs",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/cACert"
      }
    },
    "settings" : {
      "title" : "Settings",
      "readOnly" : false,
      "type" : "object"
    },
    "environmentMapping" : {
      "title" : "Environment mapping",
      "readOnly" : false,
      "type" : "boolean"
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "connectLoggingSupportEnabled" : {
      "title" : "Connect logging support enabled",
      "readOnly" : false,
      "type" : "boolean"
    },
    "connectUrls" : {
      "title" : "Connect urls",
      "readOnly" : false,
      "type" : "string"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "enabledAuthenticationMethods" : {
      "title" : "Enabled authentication methods",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/instanceAuthenticationMethods"
      }
    },
    "apiUrl" : {
      "title" : "Api url",
      "readOnly" : false,
      "type" : "string"
    },
    "instanceClusters" : {
      "title" : "Instance clusters",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/instanceClusters"
      }
    },
    "supportTier" : {
      "title" : "Support tier",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "connectEnabled" : {
      "title" : "Connect enabled",
      "readOnly" : false,
      "type" : "boolean"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "instanceClusterSrListener" : {
      "title" : "Instance cluster sr listener",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/instanceClusterSRListener"
      }
    },
    "schemaRegistryVersion" : {
      "title" : "Schema registry version",
      "readOnly" : false,
      "type" : "string"
    },
    "granularBrowsePermission" : {
      "title" : "Granular browse permission",
      "readOnly" : false,
      "type" : "boolean"
    },
    "shortName" : {
      "title" : "Short name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    },
    "caCerts" : {
      "title" : "Ca certs",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/cACert"
      }
    }
  },
  "definitions" : {
    "cACert" : {
      "type" : "object",
      "properties" : {
        "pem" : {
          "title" : "Pem",
          "readOnly" : false,
          "type" : "string"
        },
        "expiresOn" : {
          "title" : "Expires on",
          "readOnly" : false,
          "type" : "string",
          "format" : "date-time"
        }
      }
    },
    "instanceAuthenticationMethods" : {
      "type" : "object",
      "properties" : {
        "protocol" : {
          "title" : "Protocol",
          "readOnly" : false,
          "type" : "string"
        },
        "rank" : {
          "title" : "Rank",
          "readOnly" : true,
          "type" : "integer"
        },
        "mechanism" : {
          "title" : "Mechanism",
          "readOnly" : false,
          "type" : "string",
          "enum" : [ "MUTUAL_TLS", "SCRAM_SHA_256", "SCRAM_SHA_512", "OAUTH_BEARER", "PLAIN" ]
        }
      }
    },
    "instanceClusters" : {
      "type" : "object",
      "properties" : {
        "cluster" : {
          "title" : "Cluster",
          "readOnly" : false,
          "type" : "string",
          "format" : "uri"
        },
        "schemaRegistryUrls" : {
          "title" : "Schema registry urls",
          "readOnly" : false,
          "type" : "string"
        }
      }
    },
    "instanceClusterSRListener" : {
      "type" : "object",
      "properties" : {
        "cluster" : {
          "title" : "Cluster",
          "readOnly" : false,
          "type" : "string",
          "format" : "uri"
        },
        "listenerUrl" : {
          "title" : "Listener url",
          "readOnly" : false,
          "type" : "string"
        },
        "listenerAuthenticationType" : {
          "title" : "Listener authentication type",
          "readOnly" : false,
          "type" : "string"
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all instances

A GET request will list all the Instances available.

Curl request

$ curl 'http://api.example.com/instances' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /instances HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 9994

{
  "_embedded" : {
    "instances" : [ {
      "name" : "TenantA OTA2",
      "description" : "Second TenantA OTA Instance",
      "shortName" : "ota2",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SASL",
        "rank" : 0,
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "protocol" : "SSL",
        "rank" : 1,
        "mechanism" : "MUTUAL_TLS"
      } ],
      "apiUrl" : "http://aeb2-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone2 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "uid" : "543c3b7d55634eba83b1472775c131c4",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local6"
      } ],
      "settings" : {
        "connectEnabled" : "true",
        "granularBrowsePermission" : null,
        "connectLoggingSupportEnabled" : "false",
        "certificateReusePrevention" : "NONE",
        "environmentMapping" : "true"
      },
      "uid" : "6e37bcf4d4a44334924aa0f961286668",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "supportTier" : {
          "href" : "...",
          "templated" : true
        }
      }
    }, {
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SASL",
        "rank" : 1,
        "mechanism" : "SCRAM_SHA_256"
      }, {
        "protocol" : "SSL",
        "rank" : 0,
        "mechanism" : "MUTUAL_TLS"
      }, {
        "protocol" : "SASL",
        "rank" : 2,
        "mechanism" : "OAUTH_BEARER"
      } ],
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone2 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "uid" : "543c3b7d55634eba83b1472775c131c4",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local3"
      }, {
        "cluster" : {
          "name" : "Zone1 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "uid" : "66c12e25ab06458eac988f0d700fbe81",
          "providerType" : null,
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      } ],
      "settings" : {
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false",
        "certificateReusePrevention" : "NONE",
        "environmentMapping" : "true"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "supportTier" : {
          "href" : "...",
          "templated" : true
        }
      }
    }, {
      "name" : "TenantA Prod",
      "description" : "TenantA Prod Instance",
      "shortName" : "prod",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SSL",
        "rank" : 0,
        "mechanism" : "MUTUAL_TLS"
      } ],
      "apiUrl" : "http://aeb-prod.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone1 Cluster PROD",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-prod.zone1.local",
          "uid" : "db0766d053ca46d59b0a1af2817c535a",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : null,
          "groupPattern" : null,
          "transactionalPattern" : null,
          "clusterBrowseUrl" : "http://clusterbrowse-prod.zone1.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local4"
      } ],
      "settings" : {
        "connectEnabled" : "false",
        "granularBrowsePermission" : "false",
        "connectLoggingSupportEnabled" : "false",
        "certificateReusePrevention" : "TENANT",
        "environmentMapping" : "true"
      },
      "uid" : "f6969bd9f3f7435aa6bc6c62cb960393",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "supportTier" : {
          "href" : "...",
          "templated" : true
        }
      }
    }, {
      "name" : "TenantA LST",
      "description" : "TenantA LST Instance",
      "shortName" : "lst",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SSL",
        "rank" : 0,
        "mechanism" : "MUTUAL_TLS"
      } ],
      "apiUrl" : "http://aeb-lst.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone2 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "uid" : "543c3b7d55634eba83b1472775c131c4",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local7"
      } ],
      "settings" : {
        "connectEnabled" : "false",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false",
        "certificateReusePrevention" : "INSTANCE",
        "environmentMapping" : "false"
      },
      "uid" : "g7969bd9f3f7435aa6bc6c62cb960304",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "supportTier" : {
          "href" : "...",
          "templated" : true
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "show" : {
      "href" : "...",
      "title" : "Indication that an entity can be shown in menu"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 4,
    "totalPages" : 1,
    "number" : 0
  }
}
Relation Description

show

Existence of show link indicates that currently authenticated user should be shown the Instances menu option.

create

Existence of create link indicates that currently authenticated user can create new Instance.

Create instance

A POST request is used to create an instance. The request should have at-least one existing Cluster URI.

Please note that in case duplicated PEMs are provided for caCerts or connectCerts attributes, or duplicated authentication methods are provided for the enabledAuthenticationMethods attribute, you will not get any validation error and the server will internally handle the duplicated items.

Request fields

Path Type Description Constraints

name

String

The name of the instance.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 50 inclusive

shortName

String

A short name of the instance.

Must match the regular expression (?i)^[a-z0-9]+$. Must not be empty. Size must be between 2 and 12 inclusive

description

String

A short text summarizing the purpose of the instance.

Size must be between 0 and 200 inclusive

apiUrl

String

URL of Instance API. This will be used to manage the Instance from Axual API.

Must be a well-formed URL. Size must be between 0 and 255 inclusive

connectEnabled

Boolean

A toggle to enable/disable connect on this instance. When connect is enabled, a valid connectUrl need to provide in order to create a Connect.

instanceClusters

Array

An array of cluster objects for the instance. Each cluster object contains cluster’s URI and the metadata for the instance associated to the cluster such as comma separated Schema registry urls.

Must not be empty. Must not be null

caCerts

Array

Collection of CA certificates that should be in the chain of client certificates used for produce/consume. These CA certificates are also used to talk to Schema Registry when browsing the stream

supportTier

String

A valid URI of Support Tier for the instance

enabledAuthenticationMethods

Array

A list of enabled authentication methods. If not specified, the default value is SSL.

Must not be empty. Must not be null

properties

Object

A list of Instance specific variables in Key,Value format.

environmentMapping

Boolean

Enable/disable mapping an environment to the instance. When set to false, the instance cannot have mapped environments. If not specified, the default value is false.

granularBrowsePermission

Boolean

Enable/disable granular browse permissions to the instance. When set to false, it will not be possible to configure fine-grained browse permission to a stream in the instance. granularBrowsePermission is set to false by default.

schemaRegistryVersion

String

A schema registry version for the instance

schemaRegistryListeners

Object

A schema register listener configuration in Key,Value format.

certificateReusePreventionLevel

String

A configuration to set certificate reuse prevention level. The possible values are NONE, INSTANCE and TENANT. By default it’s set to NONE which means there is no restriction for this instance to reuse certificates.When set to INSTANCE each certificate must be unique within the Instance scope.When set to TENANT each certificate must be unique within the Tenant scope

Curl request

$ curl 'http://api.example.com/instances' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "AEB LST",
  "description" : "AEB Load Stress Testing Instance",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/f2e75fe2226745bea34ea9f56621f78f",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002"
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "apiUrl" : "http://boxtel-lst.instance.local",
  "shortName" : "lst",
  "connectEnabled" : false,
  "environmentMapping" : true,
  "granularBrowsePermission" : true,
  "schemaRegistryVersion" : "2.5.1",
  "instanceClusterSrListener" : [ {
    "cluster" : "http://api.example.com/clusters/f2e75fe2226745bea34ea9f56621f78f",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "NO_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "NONE"
}'

HTTP request

POST /instances HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2935
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "AEB LST",
  "description" : "AEB Load Stress Testing Instance",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/f2e75fe2226745bea34ea9f56621f78f",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002"
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "apiUrl" : "http://boxtel-lst.instance.local",
  "shortName" : "lst",
  "connectEnabled" : false,
  "environmentMapping" : true,
  "granularBrowsePermission" : true,
  "schemaRegistryVersion" : "2.5.1",
  "instanceClusterSrListener" : [ {
    "cluster" : "http://api.example.com/clusters/f2e75fe2226745bea34ea9f56621f78f",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "NO_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "NONE"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/instances/65146b3aeef54d5c8b184791fcddff25
Content-Type: application/hal+json
Content-Length: 5513

{
  "uid" : "65146b3aeef54d5c8b184791fcddff25",
  "properties" : { },
  "name" : "AEB LST",
  "description" : "AEB Load Stress Testing Instance",
  "apiUrl" : "http://boxtel-lst.instance.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ ],
  "shortName" : "lst",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.5.1",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone1 Cluster LST",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : false,
      "apiUrl" : "http://clusterapi-lst.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-lst.zone1.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : null,
      "groupPattern" : null,
      "transactionalPattern" : null,
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : true,
      "uid" : "f2e75fe2226745bea34ea9f56621f78f"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Create an Instance using a Confluent-Cloud Schema Registry

A POST request is used to create an instance cluster providerInfo for Confluent-Cloud provider.

Axl-Sr-Api-Key-Confluent, Axl-Sr-Url-Confluent, Axl-Sr-Id-Confluent, and Axl-Sr-Id-Confluent fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Created name",
  "description" : "Created description",
  "shortName" : "InstanceCC",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Id-Confluent" : "schema-registry-id"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5{?projection}",
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

POST /instances HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 768
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Created name",
  "description" : "Created description",
  "shortName" : "InstanceCC",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Id-Confluent" : "schema-registry-id"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5{?projection}",
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/instances/713b402d81964040b7d4a6f6fdd03802
Content-Type: application/hal+json
Content-Length: 2705

{
  "uid" : "713b402d81964040b7d4a6f6fdd03802",
  "properties" : { },
  "name" : "Created name",
  "description" : "Created description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ ],
  "connectCerts" : [ ],
  "shortName" : "instancecc",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Create an Instance using an Apache Kafka Schema Registry with No authentication

A POST request is used to create an instance cluster providerInfo for ApacheKafka provider.

Axl-Sr-Protocol-Type-ApacheKafka, and Axl-Sr-Url-ApacheKafka fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Created name",
  "description" : "Created description",
  "shortName" : "InsKafka",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

POST /instances HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2613
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Created name",
  "description" : "Created description",
  "shortName" : "InsKafka",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/instances/8d48be942d934c768816176eedc0ddfa
Content-Type: application/hal+json
Content-Length: 4702

{
  "uid" : "8d48be942d934c768816176eedc0ddfa",
  "properties" : { },
  "name" : "Created name",
  "description" : "Created description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "inskafka",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Create an Instance using an Apache Kafka Schema Registry with mTLS authentication

A POST request is used to create an instance cluster providerInfo for ApacheKafka provider.

Axl-Sr-Protocol-Type-ApacheKafka, Axl-Sr-Url-ApacheKafka, Axl-Sr-Cert-ApacheKafka, Axl-Sr-Private-Key-ApacheKafka, Axl-Sr-Truststore-ApacheKafka, and Axl-Sr-CA-Validation-ApacheKafka fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Created name",
  "description" : "Created description",
  "shortName" : "InsKafka",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Cert-ApacheKafka" : "schema-registry-cert",
      "Axl-Sr-Private-Key-ApacheKafka" : "schema-registry-private-key",
      "Axl-Sr-Truststore-ApacheKafka" : "schema-registry-truststore",
      "Axl-Sr-CA-Validation-ApacheKafka" : "false"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

POST /instances HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2862
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Created name",
  "description" : "Created description",
  "shortName" : "InsKafka",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Cert-ApacheKafka" : "schema-registry-cert",
      "Axl-Sr-Private-Key-ApacheKafka" : "schema-registry-private-key",
      "Axl-Sr-Truststore-ApacheKafka" : "schema-registry-truststore",
      "Axl-Sr-CA-Validation-ApacheKafka" : "false"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/instances/4e4f5bba4e474b3889d70ddd4611cd24
Content-Type: application/hal+json
Content-Length: 4702

{
  "uid" : "4e4f5bba4e474b3889d70ddd4611cd24",
  "properties" : { },
  "name" : "Created name",
  "description" : "Created description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "inskafka",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Create an Instance using an Apache Kafka Schema Registry with Basic authentication

A POST request is used to create an instance cluster providerInfo for ApacheKafka provider.

Axl-Sr-Protocol-Type-ApacheKafka, Axl-Sr-Url-ApacheKafka, Axl-Sr-Username-ApacheKafka, and Axl-Sr-Password-ApacheKafka fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Updated name",
  "description" : "Updated description",
  "shortName" : "InsKafka",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Username-ApacheKafka" : "schema-registry-username",
      "Axl-Sr-Password-ApacheKafka" : "schema-registry-password"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

POST /instances HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2748
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Updated name",
  "description" : "Updated description",
  "shortName" : "InsKafka",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Username-ApacheKafka" : "schema-registry-username",
      "Axl-Sr-Password-ApacheKafka" : "schema-registry-password"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
location: http://api.example.com/instances/2611b13bedbb447e9a0970075d04a6ce
Content-Type: application/hal+json
Content-Length: 4702

{
  "uid" : "2611b13bedbb447e9a0970075d04a6ce",
  "properties" : { },
  "name" : "Updated name",
  "description" : "Updated description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "inskafka",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Instance properties

Every instance object holds certain important properties that apply to every stream that ends up on this instance. These are explained below:

replication.factor

Number of replicas maintained by Kafka for each stream. Default value is 1.

num.partitions

Number of partitions created by Kafka for each stream. Default value is 2.

cleanup.policy

Policy used to clean up segments beyond the retention window. Possible values are delete, compact. Default value is delete.

min.insync.replicas

The number of in-sync replicas that must be available before a produce is considered successful. Default value is 1.

segment.ms

Time duration after which Kafka will force the log to roll even if the segment file isn’t full. Default value is 86400s.

create-stream.disable-time

Time duration after which Management API will allow recreating a stream-config that has been deleted previously. Default value is 0, time unit is minutes.

Retrieve an instance

The instances/{id} item resource is used to retrieve, update and delete individual Instances.

A GET request will retrieve the details of an Instance.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7009

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}
Relation Description

synchronize

Existence of this link indicates that currently authenticated user can synchronize this Instance.

Retrieve an instance for Confluent Cloud

The instances/{id} item resource is used to retrieve, update and delete individual Instances along with the authentication details of the provider.

A GET request will retrieve the details of an Instance.

Curl request

$ curl 'http://api.example.com/instances/ae301e9144324928911f7d83ec40f345' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /instances/ae301e9144324928911f7d83ec40f345 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3319

{
  "uid" : "ae301e9144324928911f7d83ec40f345",
  "properties" : { },
  "name" : "BYOKTenant CC",
  "description" : "BYOKTenant CC Instance",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : {
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Cluster-Id-Confluent" : "cluster-id",
      "Axl-Api-Key-Confluent" : "cloud-api-key",
      "Axl-Cluster-Api-Key-Confluent" : "cluster-api-key",
      "Axl-Provider-Type" : "confluent-cloud",
      "Axl-Env-Id-Confluent" : "env-id",
      "Axl-Sr-Id-Confluent" : "schema-registry-id",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Secret-Confluent" : "cloud-secret",
      "Axl-Cluster-Url-Confluent" : "cluster-url",
      "Axl-Cluster-Secret-Confluent" : "cluster-secret"
    },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ ],
  "connectCerts" : [ ],
  "shortName" : "BYOKCC",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Retrieve an instance for Apache Kafka

The instances/{id} item resource is used to retrieve, update and delete individual Instances along with the authentication details of the provider.

A GET request will retrieve the details of an Instance.

Curl request

$ curl 'http://api.example.com/instances/bd401e9144324928911f7d83ec40f345' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /instances/bd401e9144324928911f7d83ec40f345 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4583

{
  "uid" : "bd401e9144324928911f7d83ec40f345",
  "properties" : { },
  "name" : "BYOKTenant APACHE-KAFKA",
  "description" : "BYOKTenant Apache-Kafka Instance",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : null,
    "providerInfo" : {
      "Axl-Broker-Private-Key-ApacheKafka" : "cluster-private-key",
      "Axl-Sr-Password-ApacheKafka" : "schema-registry-password",
      "Axl-Broker-Password-ApacheKafka" : "cluster-password",
      "Axl-Broker-Protocol-Type-ApacheKafka" : "cluster-protocol-type",
      "Axl-Sr-Private-Key-ApacheKafka" : "schema-registry-private-key",
      "Axl-Broker-Username-ApacheKafka" : "cluster-username",
      "Axl-Sr-Cert-ApacheKafka" : "schema-registry-cert",
      "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
      "Axl-Broker-Cert-ApacheKafka" : "cluster-cert",
      "Axl-Provider-Type" : "apache-kafka",
      "Axl-Sr-CA-Validation-ApacheKafka" : "schema-registry-ca-cert",
      "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Username-ApacheKafka" : "schema-registry-username"
    },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : null,
    "providerInfo" : {
      "Axl-Broker-Private-Key-ApacheKafka" : "cluster-private-key",
      "Axl-Sr-Password-ApacheKafka" : "schema-registry-password",
      "Axl-Broker-Password-ApacheKafka" : "cluster-password",
      "Axl-Broker-Protocol-Type-ApacheKafka" : "cluster-protocol-type",
      "Axl-Sr-Private-Key-ApacheKafka" : "schema-registry-private-key",
      "Axl-Broker-Username-ApacheKafka" : "cluster-username",
      "Axl-Sr-Cert-ApacheKafka" : "schema-registry-cert",
      "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
      "Axl-Broker-Cert-ApacheKafka" : "cluster-cert",
      "Axl-Provider-Type" : "apache-kafka",
      "Axl-Sr-CA-Validation-ApacheKafka" : "schema-registry-ca-cert",
      "Axl-Bootstrap-Server-ApacheKafka" : "cluster-bootstrap",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Username-ApacheKafka" : "schema-registry-username"
    },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ ],
  "connectCerts" : [ ],
  "shortName" : "BYOKKAFKA",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Update an instance

A PATCH request is used to update an instance.

To leave an attribute of an instance unchanged, any of the above may be omitted from the request.

If an array of Clusters is supplied in the request body, it will replace existing Clusters, if any.

Please note that in case duplicated PEMs are provided for caCerts or connectCerts attributes, or duplicated authentication methods are provided for the enabledAuthenticationMethods attribute, you will not get any validation error and the server will internally handle the duplicated items.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "description" : "modified description"
}'

HTTP request

PATCH /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 44
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "description" : "modified description"
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7026

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "modified description",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Update an instance with Connect enable

The PATCH request can be used to turn on Connect functionality for the instance.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "connectEnabled" : true,
  "connectUrls" : "test-connect-worker-1,test-connect-worker-2"
}'

HTTP request

PATCH /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 94
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "connectEnabled" : true,
  "connectUrls" : "test-connect-worker-1,test-connect-worker-2"
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7028

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "test-connect-worker-1,test-connect-worker-2",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Update an instance with Connect Logging-Support enabled

The PATCH request can be used to enable Connect Logging-Support for the instance. This will automatically create the topics and authorisations required by the Connect-Logger to function correctly.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "connectEnabled" : true,
  "connectUrls" : "test-connect-worker-1,test-connect-worker-2",
  "connectLoggingSupportEnabled" : true,
  "connectCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----"
  } ]
}'

HTTP request

PATCH /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 5654
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "connectEnabled" : true,
  "connectUrls" : "test-connect-worker-1,test-connect-worker-2",
  "connectLoggingSupportEnabled" : true,
  "connectCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 12546

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "expiresOn" : null
  } ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : true,
  "connectUrls" : "test-connect-worker-1,test-connect-worker-2",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Update an instance enabled authentication methods

A PATCH request is used to update an instance enabledAuthenticationMethods.

Allowed values are the supportedAuthenticationMethods for the instance’s Tenant.

Each enabledAuthenticationMethods has a rank defining the order of priority, the rank comes from the Tenant’s supportedAuthenticationMethods.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  } ]
}'

HTTP request

PATCH /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 234
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7026

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Update an instance with granular browse permission

A PATCH request is used to update an instance granularBrowsePermissions.

By default, granularBrowsePermissions for an instance is set to false.

When the granularBrowsePermissions is disabled on the instance, all the existing permissionGroup, that are configured on environments associated with this Instance, will be deleted.

Curl request

$ curl 'http://api.example.com/instances/6e37bcf4d4a44334924aa0f961286668' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "granularBrowsePermission" : true
}'

HTTP request

PATCH /instances/6e37bcf4d4a44334924aa0f961286668 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 39
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "granularBrowsePermission" : true
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4044

{
  "uid" : "6e37bcf4d4a44334924aa0f961286668",
  "properties" : { },
  "name" : "TenantA OTA2",
  "description" : "Second TenantA OTA Instance",
  "apiUrl" : "http://aeb2-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local6",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIUHrCNcL4b6Rpn5Nr9opJWuSJFNrMwDQYJKoZIhvcNAQEL\nBQAwEjEQMA4GA1UEAwwHUm9vdCBDQTAeFw0yNDAzMTgxMDI4MDdaFw0yNTAzMTgx\nMDI4MDdaMBIxEDAOBgNVBAMMB1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQCpoNd+62UkJFVjx7u3Jncy+Zs9y+tqjeg8UaTJFVo+h0NbnOq/\neBPWp2eX8M+eomwvcXtxY604D55waEDkDUeKD/vr7hoa15D5sKxV5E5q/SGk6cI7\nxybRAlvJoDLOKXHX5hEw5bBHhDiuqBhIea+aoy0tVM5+jIk0xDMzk0mjLxZ36UPf\n3TsI9tKtgXjhvj200imGQW1Op+zh1SodclVZyNF9FU3zjofrNxiIW5SMVnKJjudO\nkPKwoz5kZq9UD7QtQvKH4UkF2SZTQ4ySIyAtHRleNCAn5zq0488R/IuPGLv7lkcP\nDgOq9jTUdcriIxAHqc68almaVNmuEz92CpW7AgMBAAGjUzBRMB0GA1UdDgQWBBTm\nLqs8NmruAN/u7rPaxF9cgnX+nTAfBgNVHSMEGDAWgBTmLqs8NmruAN/u7rPaxF9c\ngnX+nTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBZQVuRb+bF\n6QVdnw8b68XZJcb3H7e5AJv80Vbbn7NPtv3medjcdgOoLbrfqmRPDsSaL3yq8lAg\n4B1PlO0XVts/kF9s6LQclghwwydfagNgUjMljh3UWW7N+Y+bxcvx7+xmtG/5sX9j\nn9wtm/bbUA0qkhKTxpA2KWyttR7rQFEXRAbWhzmGKu4BBp9knuDZdlM7mLM/1tAY\nVMdwDXOw0Qa0jk97UMQXMFFuloTmY6/f/zuk+0KUF51uOw8h9iuSg8yTfIkXBj6g\nYFC1TW2KQN4Yab09NQs5vWbsvfjCvhj0NbOeVy6RwsFQyo2Y8KosQWBofAGv9q+6\neKd2MD5fO3UK\n-----END CERTIFICATE-----",
    "expiresOn" : "2025-03-18T10:28:07"
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota2",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect3.url,https://connect4.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : null,
  "instanceClusterSRListeners" : [ ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Update an instance with environment mapping

A PATCH request is used to update an instance environmentMapping.

By default, environmentMapping for an instance is set to true.

When environmentMapping is false, we cannot map an environment to the instance.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "environmentMapping" : false
}'

HTTP request

PATCH /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 34
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "environmentMapping" : false
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7027

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : false,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Update an instance cluster for the Confluent-Cloud schema registry

A PATCH request is used to update an instance cluster providerInfo for Confluent-Cloud provider.

Axl-Sr-Api-Key-Confluent, Axl-Sr-Url-Confluent, Axl-Sr-Id-Confluent, and Axl-Sr-Id-Confluent fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances/6e37bch8s4a44334924aa0f961286668' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Id-Confluent" : "schema-registry-id"
    }
  }, {
    "cluster" : "http://api.example.com/clusters/7gr717181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Id-Confluent" : "schema-registry-id"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

PATCH /instances/6e37bch8s4a44334924aa0f961286668 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 3136
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Id-Confluent" : "schema-registry-id"
    }
  }, {
    "cluster" : "http://api.example.com/clusters/7gr717181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Api-Key-Confluent" : "schema-registry-api-key",
      "Axl-Sr-Secret-Confluent" : "schema-registry-secret",
      "Axl-Sr-Url-Confluent" : "schema-registry-url",
      "Axl-Sr-Id-Confluent" : "schema-registry-id"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 5639

{
  "uid" : "6e37bch8s4a44334924aa0f961286668",
  "properties" : { },
  "name" : "Updated name",
  "description" : "Updated description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "byokaiven",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "BYOK cluster for aiven",
      "description" : "",
      "location" : "BYOK",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver3:9093"
      } ],
      "providerType" : "aiven",
      "topicPattern" : "{topic}",
      "groupPattern" : "{group}",
      "transactionalPattern" : "{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "8gr919191cd44798ab70322830800dbc"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Update an instance cluster for the Apache Kafka schema registry with No-Auth credentials

A PATCH request is used to update an instance cluster providerInfo for Apache Kafka provider.

Axl-Sr-Protocol-Type-ApacheKafka, and Axl-Sr-Url-ApacheKafka fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances/6e37bch8s4a44334924aa0f961286668' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

PATCH /instances/6e37bch8s4a44334924aa0f961286668 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2585
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "No-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 5415

{
  "uid" : "6e37bch8s4a44334924aa0f961286668",
  "properties" : { },
  "name" : "Updated name",
  "description" : "Updated description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "byokaiven",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "BYOK cluster for aiven",
      "description" : "",
      "location" : "BYOK",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver3:9093"
      } ],
      "providerType" : "aiven",
      "topicPattern" : "{topic}",
      "groupPattern" : "{group}",
      "transactionalPattern" : "{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "8gr919191cd44798ab70322830800dbc"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Update an instance cluster for the Apache Kafka schema registry with mTLS credentials

A PATCH request is used to update an instance cluster providerInfo for Apache Kafka provider.

Axl-Sr-Protocol-Type-ApacheKafka, Axl-Sr-Url-ApacheKafka, Axl-Sr-Cert-ApacheKafka, Axl-Sr-Private-Key-ApacheKafka, Axl-Sr-Truststore-ApacheKafka, and Axl-Sr-CA-Validation-ApacheKafka fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances/6e37bch8s4a44334924aa0f961286668' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Cert-ApacheKafka" : "schema-registry-cert",
      "Axl-Sr-Private-Key-ApacheKafka" : "schema-registry-private-key",
      "Axl-Sr-Truststore-ApacheKafka" : "schema-registry-truststore",
      "Axl-Sr-CA-Validation-ApacheKafka" : "false"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

PATCH /instances/6e37bch8s4a44334924aa0f961286668 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2834
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "MTLS",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Cert-ApacheKafka" : "schema-registry-cert",
      "Axl-Sr-Private-Key-ApacheKafka" : "schema-registry-private-key",
      "Axl-Sr-Truststore-ApacheKafka" : "schema-registry-truststore",
      "Axl-Sr-CA-Validation-ApacheKafka" : "false"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
  } ],
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 5415

{
  "uid" : "6e37bch8s4a44334924aa0f961286668",
  "properties" : { },
  "name" : "Updated name",
  "description" : "Updated description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "byokaiven",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "BYOK cluster for aiven",
      "description" : "",
      "location" : "BYOK",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver3:9093"
      } ],
      "providerType" : "aiven",
      "topicPattern" : "{topic}",
      "groupPattern" : "{group}",
      "transactionalPattern" : "{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "8gr919191cd44798ab70322830800dbc"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Update an instance cluster for the Apache Kafka schema registry with Basic-Auth credentials

A PATCH request is used to update an instance cluster providerInfo for Apache Kafka provider.

Axl-Sr-Protocol-Type-ApacheKafka, Axl-Sr-Url-ApacheKafka, Axl-Sr-Username-ApacheKafka, and xl-Sr-Password-ApacheKafka fields should be provided in providerInfo for each cluster.

Curl request

$ curl 'http://api.example.com/instances/6e37bch8s4a44334924aa0f961286668' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Username-ApacheKafka" : "schema-registry-username",
      "Axl-Sr-Password-ApacheKafka" : "schema-registry-password"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}'

HTTP request

PATCH /instances/6e37bch8s4a44334924aa0f961286668 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 804
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "Updated name",
  "description" : "Updated description",
  "instanceClusters" : [ {
    "cluster" : "http://api.example.com/clusters/5dw618181cd44798ab70322830800dbc",
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : {
      "Axl-Sr-Protocol-Type-ApacheKafka" : "Basic-Auth",
      "Axl-Sr-Url-ApacheKafka" : "schema-registry-url",
      "Axl-Sr-Username-ApacheKafka" : "schema-registry-username",
      "Axl-Sr-Password-ApacheKafka" : "schema-registry-password"
    }
  } ],
  "supportTier" : "http://api.example.com/supportTiers/14cadc6238fc4695916a8053302743f5",
  "enabledAuthenticationMethods" : [ {
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3494

{
  "uid" : "6e37bch8s4a44334924aa0f961286668",
  "properties" : { },
  "name" : "Updated name",
  "description" : "Updated description",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "schema.registry.local:24001,schema.registry.local:24002",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ ],
  "connectCerts" : [ ],
  "shortName" : "byokaiven",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : false,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "BYOK cluster for aiven",
      "description" : "",
      "location" : "BYOK",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver3:9093"
      } ],
      "providerType" : "aiven",
      "topicPattern" : "{topic}",
      "groupPattern" : "{group}",
      "transactionalPattern" : "{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "8gr919191cd44798ab70322830800dbc"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Update an instance cluster with schema registry listener

A PATCH request is used to update an instance cluster with the schemaRegistry listeners.

The SR listener values of the instance cluster passed in the PATCH request will override the existing values on the instance cluster

Curl request

$ curl 'http://api.example.com/instances/sh708e9144324928911f7d83ec40f345' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSrListener" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "BASIC_AUTH" : "sr-url:25000"
    }
  }, {
    "cluster" : "http://api.example.com/clusters/9ab917181cd44798ab70322830800dbc",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "BASIC_AUTH" : "sr-url:25000"
    }
  } ]
}'

HTTP request

PATCH /instances/sh708e9144324928911f7d83ec40f345 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 469
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSrListener" : [ {
    "cluster" : "http://api.example.com/clusters/8br817181cd44798ab70322830800dbc",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "BASIC_AUTH" : "sr-url:25000"
    }
  }, {
    "cluster" : "http://api.example.com/clusters/9ab917181cd44798ab70322830800dbc",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "BASIC_AUTH" : "sr-url:25000"
    }
  } ]
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4260

{
  "uid" : "sh708e9144324928911f7d83ec40f345",
  "properties" : { },
  "name" : "BYOKTenant replica APACHE-KAFKA",
  "description" : "BYOKTenant Apache-Kafka replica Instance",
  "apiUrl" : null,
  "instanceClusters" : [ {
    "schemaRegistryUrls" : null,
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : null,
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ ],
  "connectCerts" : [ ],
  "shortName" : "byokkafkareplica",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  } ],
  "tenant" : {
    "properties" : { },
    "name" : "BYOK Tenant",
    "shortName" : "BYOKtenant",
    "uniqueConsumerGroup" : true,
    "logo" : "BYOKtenant.png",
    "issuerUrl" : "http://api.example.com/auth/realms/BYOKtenant",
    "dataClassificationEnabled" : true,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : false,
    "customerId" : null,
    "uid" : "1149c97f04c42had8d9c97faa5a375ac",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : false,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : null,
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.7.1",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "BYOK replica1 for apache-kafka",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ ],
      "providerType" : "apache-kafka",
      "topicPattern" : "{topic}",
      "groupPattern" : "{group}",
      "transactionalPattern" : "{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "8br817181cd44798ab70322830800dbc"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "BASIC_AUTH" : "sr-url:25000"
    }
  }, {
    "cluster" : {
      "name" : "BYOK replica2 for apache-kafka",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : false,
      "apiUrl" : null,
      "clusterBrowseUrl" : null,
      "bootstrapServers" : [ ],
      "providerType" : "apache-kafka",
      "topicPattern" : "{topic}",
      "groupPattern" : "{group}",
      "transactionalPattern" : "{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : null,
      "multiTenant" : false,
      "multiEnvironment" : false,
      "uid" : "9ab917181cd44798ab70322830800dbc"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000",
      "BASIC_AUTH" : "sr-url:25000"
    }
  } ],
  "certificateReusePreventionLevel" : "None",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "byok" : {
      "href" : "..."
    }
  }
}

Update CertificateReusePreventionLevel of an instance

A PATCH request is used to update the CertificateReusePreventionLevel field of an instance. The supported levels are NONE (default value), INSTANCE and TENANT.

Please note that by updating the certificate reuse prevention level, no validation will be applied at the updating time, but after making this update, the check will apply to any newly added certificate based on the prevention level. When the value is updated to INSTANCE means that certificates need to be unique within the Instance scope and when it’s updated to TENANT means that certificates need to be unique within the Tenant scope.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "certificateReusePreventionLevel" : "TENANT"
}'

HTTP request

PATCH /instances/b9301e9144324928911f7d83ec40c478 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 50
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "certificateReusePreventionLevel" : "TENANT"
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 7028

{
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "properties" : {
    "min.insync.replicas" : "1",
    "create-stream.disable-time" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000",
    "num.partitions" : "3",
    "replication.factor" : "2"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local3",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "providerInfo" : { },
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : "2038-05-24T10:34:14"
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  }, {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  } ],
  "tenant" : {
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "authenticationInfo" : null,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSRListeners" : [ {
    "cluster" : {
      "name" : "Zone1 Cluster OTA",
      "description" : "",
      "location" : "Zone1",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone1.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
      "bootstrapServers" : [ {
        "bootstrapServer" : "bootstrapserver1:9093"
      } ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : {
        "MUTUAL_TLS" : "broker:9090"
      },
      "kafkaVersion" : "3.5.1",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "66c12e25ab06458eac988f0d700fbe81"
    },
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  }, {
    "cluster" : {
      "name" : "Zone2 Cluster OTA",
      "description" : "",
      "location" : "Zone2",
      "billingCloudEnabled" : true,
      "apiUrl" : "http://clusterapi-ota.zone2.local",
      "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
      "bootstrapServers" : [ ],
      "providerType" : null,
      "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
      "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
      "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
      "kafkaListeners" : { },
      "kafkaVersion" : "3.4.0",
      "multiTenant" : true,
      "multiEnvironment" : true,
      "uid" : "543c3b7d55634eba83b1472775c131c4"
    },
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  } ],
  "certificateReusePreventionLevel" : "Tenant",
  "_links" : {
    "self" : {
      "href" : "...",
      "templated" : true,
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "tenant" : {
      "href" : "...",
      "title" : "A tenant"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    }
  }
}

Synchronize an instance

A synchronize operation is defined as the process of (re)-deploying all streams that are linked to this instance on the Kafka clusters. This effectively syncs the configuration stored in the database to every Kafka cluster that is part of this instance.

The process involves identifying all environments that are linked to this instance. For each environment, streams that have valid configurations (StreamConfig) are identified and deployed on the cluster.

This is a high-risk operation only allowed for certain roles. Check with your administrator for more details.

A POST request on /instances/uid/synchronize is used to synchronize an instance. When successful, a 204 No content response is returned. Depending on the number of streams that need to be synced, allow at least 30 seconds for the operation to complete.

Curl request

$ curl 'http://api.example.com/instances/b9301e9144324928911f7d83ec40c478/synchronize' -i -X POST \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'

HTTP request

POST /instances/b9301e9144324928911f7d83ec40c478/synchronize HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
Content-Type: application/x-www-form-urlencoded

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Delete Instance endpoints

Deleting an instance is a two-step process, a GET request to check the constraints followed by the DELETE request.

Delete instance constraints

A GET request is used to get the constraints for deleting an instance.The constraint indicates that an instance could be deleted if there are no environments defined for it.

Curl request
$ curl 'http://api.example.com/instances/12xc670e77b142a48f55f04ca5554807/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP request
GET /instances/12xc670e77b142a48f55f04ca5554807/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 82

{
  "canDelete" : true,
  "activeEnvironmentsCount" : 0,
  "envShortNames" : [ ]
}

Delete an instance

A DELETE request is used to delete an instance.

Curl request
$ curl 'http://api.example.com/instances/12xc670e77b142a48f55f04ca5554807' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
HTTP request
DELETE /instances/12xc670e77b142a48f55f04ca5554807 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Instance search endpoints

/instances/search/findByName

Search for an instance by exact name.

Query parameters
Parameter Description

name

Instance name to search for.

HTTP request
GET /instances/search/findByName?name=TenantA+OTA HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 4957

{
  "properties" : {
    "replication.factor" : "2",
    "num.partitions" : "3",
    "create-stream.disable-time" : "1",
    "min.insync.replicas" : "1",
    "retention.ms" : "172800000",
    "segment.ms" : "172800000"
  },
  "name" : "TenantA OTA",
  "description" : "TenantA OTA Instance",
  "apiUrl" : "http://aeb-ota.local",
  "instanceClusters" : [ {
    "schemaRegistryUrls" : "https://schema.local3",
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "schemaRegistryUrls" : "https://schema.local1,https://schema.local2",
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "caCerts" : [ {
    "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
    "expiresOn" : null
  } ],
  "connectCerts" : [ ],
  "shortName" : "ota",
  "enabledAuthenticationMethods" : [ {
    "rank" : 1,
    "protocol" : "SASL",
    "mechanism" : "SCRAM_SHA_256"
  }, {
    "rank" : 0,
    "protocol" : "SSL",
    "mechanism" : "MUTUAL_TLS"
  }, {
    "rank" : 2,
    "protocol" : "SASL",
    "mechanism" : "OAUTH_BEARER"
  } ],
  "connectEnabled" : true,
  "connectLoggingSupportEnabled" : false,
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "granularBrowsePermission" : true,
  "environmentMapping" : true,
  "schemaRegistryVersion" : "2.8.0",
  "instanceClusterSrListener" : [ {
    "listenerAuthenticationType" : "NO_AUTH",
    "listenerUrl" : "sr-url:25000",
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "listenerAuthenticationType" : "TLS",
    "listenerUrl" : "sr-url:24000",
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  }, {
    "listenerAuthenticationType" : "TLS",
    "listenerUrl" : "sr-url:24000",
    "_links" : {
      "cluster" : {
        "href" : "...",
        "title" : "A cluster"
      }
    }
  } ],
  "settings" : {
    "connectEnabled" : "true",
    "granularBrowsePermission" : "true",
    "connectLoggingSupportEnabled" : "false",
    "certificateReusePrevention" : "NONE",
    "environmentMapping" : "true"
  },
  "uid" : "b9301e9144324928911f7d83ec40c478",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "supportTier" : {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    },
    "supportTier" : {
      "href" : "...",
      "templated" : true
    }
  }
}

/instances/search/findByNameContaining

Search for an instance by name containing search term.

Query parameters
Parameter Description

name

Term to search within instance name.

HTTP request
GET /instances/search/findByNameContaining?name=aeb HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 259

{
  "_embedded" : {
    "instances" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

ConnectPlugins

A ConnectPlugin stores the plugin class, type, version, and optional config explanation available for an Instance.

The /connect_plugins resource is used to return a unique list of connector plugins, not bound to any environment (axual-connect instance).

List all connect plugins

A GET request will list all the plugins available regardless of the plugin version to the currently logged-in user.

Curl request

$ curl 'http://api.example.com/connect_plugins' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /connect_plugins HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3805

{
  "_embedded" : {
    "connect_plugins" : [ {
      "instance" : {
        "shortName" : "ota",
        "tenant" : {
          "shortName" : "tenanta",
          "_links" : {
            "contact" : {
              "href" : "...",
              "templated" : true,
              "title" : "Business contact of this tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "_links" : {
          "supportTier" : {
            "href" : "...",
            "templated" : true
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      },
      "pluginConfigs" : [ {
        "name" : "name",
        "type" : "STRING",
        "required" : true
      }, {
        "name" : "logger.name",
        "type" : "STRING",
        "required" : true
      }, {
        "name" : "key.converter",
        "type" : "CLASS",
        "required" : true
      }, {
        "name" : "connector.class",
        "type" : "STRING",
        "required" : true
      }, {
        "name" : "tasks.max",
        "type" : "INT",
        "required" : true
      }, {
        "name" : "transforms",
        "type" : "LIST",
        "required" : true
      } ],
      "pluginClass" : "io.axual.test.sink.plugin",
      "pluginType" : "SINK",
      "uid" : "197691609c2fe4f129cfc79f18d5d1269",
      "created_at" : "2020-05-28T10:56:23",
      "modified_at" : "2020-05-28T10:56:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "instance" : {
        "shortName" : "ota",
        "tenant" : {
          "shortName" : "tenanta",
          "_links" : {
            "contact" : {
              "href" : "...",
              "templated" : true,
              "title" : "Business contact of this tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "_links" : {
          "supportTier" : {
            "href" : "...",
            "templated" : true
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      },
      "pluginConfigs" : [ {
        "name" : "tasks.max",
        "type" : "INT",
        "required" : true
      } ],
      "pluginClass" : "io.axual.test.source.plugin",
      "pluginType" : "SOURCE",
      "uid" : "427691609c2f20f129bd179f45d5d1269",
      "created_at" : "2020-05-28T10:56:23",
      "modified_at" : "2020-05-28T10:56:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 2,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

List all environments relevant for an application

A GET request will list all the environments that are relevant for the application with the status of connector on those environments . Only the environments that support the application’s configured pluginClass and are accessible to the user are returned.

Curl request

$ curl 'http://api.example.com/connect_plugins/search/findEnvironmentsByApplication?application=http%3A%2F%2Flocalhost%2Fapplications%2Fdbc9e4670h1c4866deg78722e2930d2g' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /connect_plugins/search/findEnvironmentsByApplication?application=http%3A%2F%2Flocalhost%2Fapplications%2Fdbc9e4670h1c4866deg78722e2930d2g HTTP/1.1
Content-Type: application/json
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 30891

{
  "_embedded" : {
    "environmentWithStatuses" : [ {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv3",
          "description" : "environment",
          "shortName" : "tenantaenv3",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "156ab08009fe4da8be6905b55552ab63",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "envdefault",
          "description" : "environment",
          "shortName" : "envdefault",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "156ab08009fe4da96e6905b55552ab63",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "description" : "environment with just revoked app_access configured",
          "shortName" : "tenantaenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv7_with_app_access_only",
          "description" : "environment with just app_access configured",
          "shortName" : "tenantaenv7",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "48dd87236ec445138330adb1a8a79f7e",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_no_streams_2",
          "description" : "environment",
          "shortName" : "tenantaenvns2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "5e7e07b5e7784baf8dcebe1b03d5d410",
          "created_at" : "2022-10-31T23:16:23",
          "modified_at" : "2022-10-31T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv8_with_app_credential_only",
          "description" : "environment with just app_credential configured",
          "shortName" : "tenantaenv8",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e189c49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_app_principal_and_credential",
          "description" : "environment with app access and grant configured",
          "shortName" : "tenantapublicenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e918d49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_no_streams",
          "description" : "environment",
          "shortName" : "tenantaenvns",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "a5f2383ccce249459b24b7cb189b40bc",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv4",
          "description" : "environment",
          "shortName" : "tenantaenv4",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "aa1ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv5",
          "description" : "environment",
          "shortName" : "tenantaenv5",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "bb5be2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv2",
          "description" : "environment",
          "shortName" : "tenantaenv2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e11ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    }, {
      "status" : "Undefined",
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv6_with_app_principal",
          "description" : "environment with just app_principal configured",
          "shortName" : "tenantaenv6",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e26e0006c5504351a58e3181066cf56a",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

Confidentialities

Defines the available confidentiality level for a tenant.

As an example following can be the confidentiality levels: - C=0: Public. - C=1: Internal use. - C=2: Confidential. - C=3: Secret.

These levels can then be associated to the streams for the tenant. The purpose of this is to define how confidential the messages on the stream are.

List all confidentiality

A GET request lists all tenants in the system. This operation can be done by any authenticated user for the tenant.

Curl request

$ curl 'http://api.example.com/confidentialities' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /confidentialities HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1763

{
  "_embedded" : {
    "confidentialities" : [ {
      "level" : "L1",
      "description" : "test confidentiality",
      "color" : "blue",
      "uid" : "347ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        }
      }
    }, {
      "level" : "L2",
      "description" : "L2 confidentiality",
      "color" : "blue",
      "uid" : "648ab08009fe4da8be6905b55552ac43",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

Create confidentiality

A POST request is used to create a new confidentiality level. This operation can be done by a TENANT_ADMIN only.

Request fields

Path Type Description Constraints

level

String

The name of the level

Size must be between 0 and 50 inclusive

description

String

The description of the level.

Size must be between 0 and 200 inclusive

color

String

The colour of the level.

Size must be between 0 and 12 inclusive

Curl request

$ curl 'http://api.example.com/confidentialities' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "level" : "L2",
  "description" : "This is Level 2",
  "color" : "blue"
}'

HTTP request

POST /confidentialities HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 77
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "level" : "L2",
  "description" : "This is Level 2",
  "color" : "blue"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:42:57 GMT
Location: http://api.example.com/confidentialities/db911d9126c14719bf4c75a7bfc7e935
Content-Type: application/hal+json
Content-Length: 774

{
  "level" : "l2",
  "description" : "This is Level 2",
  "color" : "blue",
  "uid" : "db911d9126c14719bf4c75a7bfc7e935",
  "created_at" : "2024-04-10T14:42:57.755985434",
  "modified_at" : "2024-04-10T14:42:57.755985434",
  "created_by" : "tenadmin@tenanta.nl",
  "modified_by" : "tenadmin@tenanta.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "confidentiality" : {
      "href" : "...",
      "templated" : true,
      "title" : "The confidentiality configured for the object"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Retrieve confidentiality

The confidentiality/{id} item resource is used to retrieve, update and delete individual confidentiality level.

A GET request will retrieve the details of a Confidentiality level. This operation can be done by any authenticated user for the tenant.

Curl request

$ curl 'http://api.example.com/confidentialities/347ab08009fe4da8be6905b55552ab52' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /confidentialities/347ab08009fe4da8be6905b55552ab52 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 725

{
  "level" : "L1",
  "description" : "test confidentiality",
  "color" : "blue",
  "uid" : "347ab08009fe4da8be6905b55552ab52",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "confidentiality" : {
      "href" : "...",
      "templated" : true,
      "title" : "The confidentiality configured for the object"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}
Relation Description

edit

Existence of this link indicates that the currently authenticated user can edit this Confidentiality level

delete

Existence of this link indicates that the currently authenticated user can delete this confidentiality level

Update confidentiality

A PATCH request is used to update a tenant. Only a TENANT_ADMIN can perform this action.

$ curl 'http://api.example.com/confidentialities/347ab08009fe4da8be6905b55552ab52' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "description" : "Updated description"
}'
PATCH /confidentialities/347ab08009fe4da8be6905b55552ab52 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 43
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "description" : "Updated description"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 724

{
  "level" : "L1",
  "description" : "Updated description",
  "color" : "blue",
  "uid" : "347ab08009fe4da8be6905b55552ab52",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "confidentiality" : {
      "href" : "...",
      "templated" : true,
      "title" : "The confidentiality configured for the object"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Delete confidentiality

Deleting confidentiality is a two step process a GET request to check the constraints followed by the DELETE request

Delete confidentiality constraints

A GET request is used to get the constraints for deleting Confidentiality. Only a TENANT_ADMIN can perform this

$ curl 'http://api.example.com/confidentialities/648ab08009fe4da8be6905b55552ac43/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /confidentialities/648ab08009fe4da8be6905b55552ac43/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 47

{
  "canDelete" : false,
  "streamsCount" : 1
}

Delete confidentiality

A DELETE request is used to delete a Confidentiality. Only a TENANT_ADMIN can perform this

$ curl 'http://api.example.com/confidentialities/347ab08009fe4da8be6905b55552ab52' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /confidentialities/347ab08009fe4da8be6905b55552ab52 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Integrities

Define the available integrity level for a tenant. These levels can then be associated to the streams for the tenant.

List all integrity

A GET request will list all the integrities in the system. This operation can be done by a TENANT_ADMIN only.

Curl request

$ curl 'http://api.example.com/integrities' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /integrities HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1728

{
  "_embedded" : {
    "integrities" : [ {
      "level" : "L2",
      "description" : "This is level 2",
      "color" : "yellow",
      "uid" : "247ab03ffafe4da2bet905b5e352ab53",
      "created_at" : "2019-06-08T23:16:23",
      "modified_at" : "2019-06-08T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        }
      }
    }, {
      "level" : "L1",
      "description" : "This is level 1",
      "color" : "green",
      "uid" : "247ab08159fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}
Relation Description

create

Existence of this link indicates thatthe currently authenticated user can create Integrity level

Create integrity

A POST request is used to create a new integrity level. This operation can be done by a TENANT_ADMIN only.

Below table lists all possible fields that can be provided for integrity level creation.

Request fields

Path Type Description Constraints

level

String

The level of the integrity level

Size must be between 0 and 50 inclusive

description

String

The description of the integrity level

Size must be between 0 and 200 inclusive

color

String

The color of the integrity level

Size must be between 0 and 12 inclusive

Curl request

$ curl 'http://api.example.com/integrities' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "level" : "Level 1",
  "description" : "This is level 1",
  "color" : "green"
}'

HTTP request

POST /integrities HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 83
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "level" : "Level 1",
  "description" : "This is level 1",
  "color" : "green"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:42:40 GMT
Location: http://api.example.com/integrities/57f45dde269b461b9c390114fd5de964
Content-Type: application/hal+json
Content-Length: 768

{
  "level" : "level 1",
  "description" : "This is level 1",
  "color" : "green",
  "uid" : "57f45dde269b461b9c390114fd5de964",
  "created_at" : "2024-04-10T14:42:40.157211231",
  "modified_at" : "2024-04-10T14:42:40.157211231",
  "created_by" : "tenadmin@tenanta.nl",
  "modified_by" : "tenadmin@tenanta.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "integrity" : {
      "href" : "...",
      "templated" : true,
      "title" : "The integrity configured for the object"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Retrieve an integrity

The integrity/{id} item resource is used to retrieve, update and delete individual integrity level.

A GET request will retrieve the details of an integrity.

Curl request

$ curl 'http://api.example.com/integrities/247ab08159fe4da8be6905b55552ab52' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /integrities/247ab08159fe4da8be6905b55552ab52 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 709

{
  "level" : "L1",
  "description" : "This is level 1",
  "color" : "green",
  "uid" : "247ab08159fe4da8be6905b55552ab52",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "integrity" : {
      "href" : "...",
      "templated" : true,
      "title" : "The integrity configured for the object"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}
Relation Description

edit

Existence of this link indicates thatthe currently authenticated user can edit this Integrity level

delete

Existence of this link indicates that the currently authenticated user can delete this Integrity level

Update an integrity

A PATCH request is used to update an integrity. Only a TENANT_ADMIN can perform this action.

$ curl 'http://api.example.com/integrities/247ab08159fe4da8be6905b55552ab52' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "description" : "Updated description",
  "color" : "purple",
  "level" : "level-one"
}'
PATCH /integrities/247ab08159fe4da8be6905b55552ab52 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 90
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "description" : "Updated description",
  "color" : "purple",
  "level" : "level-one"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 721

{
  "level" : "level-one",
  "description" : "Updated description",
  "color" : "purple",
  "uid" : "247ab08159fe4da8be6905b55552ab52",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "integrity" : {
      "href" : "...",
      "templated" : true,
      "title" : "The integrity configured for the object"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Delete integrity endpoints

Deleting integrity is a two step process, a GET request to check the constraints followed by the DELETE request. This operation can be done by a TENANT_ADMIN only.

Delete integrity constraints

A GET request is used to get the constraints for deleting integrities.

$ curl 'http://api.example.com/integrities/247ab03ffafe4da2bet905b5e352ab53/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /integrities/247ab03ffafe4da2bet905b5e352ab53/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 47

{
  "canDelete" : false,
  "streamsCount" : 1
}

Delete integrity

A DELETE request is used to delete a integrity.

$ curl 'http://api.example.com/integrities/247ab08159fe4da8be6905b55552ab52' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /integrities/247ab08159fe4da8be6905b55552ab52 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Environments

An Environment represents a functional group of servers that is specific to a Tenant. It is usually grouped based on functional use e.g. System testing, Acceptance testing, Production and others.

Every environment must be linked to an existing Instance before it can be considered ready for business use. This can only be done by an Axual admin user.

The environments collection resource is used to create and list Environments.

Environment Schema

The environments resource uses the following json-schema:

GET /profile/environments HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 2269

{
  "title" : "Environment",
  "properties" : {
    "partitions" : {
      "title" : "Partitions",
      "readOnly" : false,
      "type" : "integer"
    },
    "authorizationIssuer" : {
      "title" : "Authorization issuer",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "Stream owner", "Auto" ]
    },
    "private" : {
      "title" : "Private",
      "readOnly" : true,
      "type" : "boolean"
    },
    "instance" : {
      "title" : "Instance",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "color" : {
      "title" : "Color",
      "readOnly" : false,
      "type" : "string"
    },
    "visibility" : {
      "title" : "Visibility",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "public", "private" ]
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "owners" : {
      "title" : "Owners",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "retentionTime" : {
      "title" : "Retention time",
      "readOnly" : false,
      "type" : "integer"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "autoApproved" : {
      "title" : "Auto approved",
      "readOnly" : true,
      "type" : "boolean"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "shortName" : {
      "title" : "Short name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all environments

A GET request will list all the environments visible to the currently logged-in user.

Curl request

$ curl 'http://api.example.com/environments' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /environments HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 19332

{
  "_embedded" : {
    "environments" : [ {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv3",
      "description" : "environment",
      "shortName" : "tenantaenv3",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "156ab08009fe4da8be6905b55552ab63",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "envdefault",
      "description" : "environment",
      "shortName" : "envdefault",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "156ab08009fe4da96e6905b55552ab63",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv9_with_revoked_app_access_only",
      "description" : "environment with just revoked app_access configured",
      "shortName" : "tenantaenv9",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "3b7963da58d7445bbf7a900782713069",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv10",
      "description" : "environment",
      "shortName" : "tenantaenv10",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "3gr4e2046dad49468e0848571982a4b8",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv1",
      "description" : "environment",
      "shortName" : "tenantaprivenv1",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv7_with_app_access_only",
      "description" : "environment with just app_access configured",
      "shortName" : "tenantaenv7",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "48dd87236ec445138330adb1a8a79f7e",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv_no_streams_2",
      "description" : "environment",
      "shortName" : "tenantaenvns2",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "5e7e07b5e7784baf8dcebe1b03d5d410",
      "created_at" : "2022-10-31T23:16:23",
      "modified_at" : "2022-10-31T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv2",
      "description" : "environment",
      "shortName" : "tenantaprivenv2",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "61b1b34b0c6744dcadb85f4c188517e5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv5",
      "description" : "environment",
      "shortName" : "tenantaprivenv5",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "6u2577bclboz97ievex0fv5hvysemooh",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv3",
      "description" : "environment",
      "shortName" : "tenantaprivenv3",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "72c1b34b0c6744dcadb85f4c188518f6",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv8_with_app_credential_only",
      "description" : "environment with just app_credential configured",
      "shortName" : "tenantaenv8",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "73f73e189c49430fbf1d8cc7494d24d4",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv9_with_app_principal_and_credential",
      "description" : "environment with app access and grant configured",
      "shortName" : "tenantapublicenv9",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "73f73e918d49430fbf1d8cc7494d24d4",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv4",
      "description" : "environment",
      "shortName" : "tenantaprivenv4",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "83c1b34b0c6744dcadb85f4c188518g5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv6",
      "description" : "environment",
      "shortName" : "tenantaprivenv6",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "8fe4bc6b01bc4ff39ac9769ffe1fb77f",
      "created_at" : "2022-09-06T10:00:00",
      "modified_at" : "2022-09-06T10:00:00",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv_only_app_grant",
      "description" : "environment with just application_access_grant and no mapping to application_access",
      "shortName" : "tenantaenvgrant",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "92b521d4411942ca82b33782ddf50edd",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv7",
      "description" : "environment with application_access_grant and mapping to application_access",
      "shortName" : "tenantaprivenv7",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "a5f2383420e249459b24b7cb189b40bc",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv_no_streams",
      "description" : "environment",
      "shortName" : "tenantaenvns",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "a5f2383ccce249459b24b7cb189b40bc",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv4",
      "description" : "environment",
      "shortName" : "tenantaenv4",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "aa1ee2dd976647109ca904dd8adc050f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv5",
      "description" : "environment",
      "shortName" : "tenantaenv5",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "bb5be2dd976647109ca904dd8adc050f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 22,
    "totalPages" : 2,
    "number" : 0
  }
}
Relation Description

create

Existence of this link indicates that the currently authenticated user can create a new Environment

Create environment

A POST request is used to create a new environment. The fields authorizationIssuer and visibility are currently optional and can be ignored while creating a new Environment. By default, authorizationIssuer will be set to Stream owner and visibility will be set to Public.

Below table lists all possible fields that can be provided for environment creation.

Request fields

Path Type Description Constraints

name

String

The name of the environment

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 50 inclusive

shortName

String

The short name of the environment. Used in stream names internally. Must be lower-case.

Must match the regular expression (?i)^[a-z0-9]+$. Must not be empty. Size must be between 3 and 20 inclusive

owners

String

A valid URI of an existing group, must not be null.

Must not be null

description

String

Human-readable text describing the environment

Size must be between 0 and 200 inclusive

properties

Object

A list of Tenant specific variables in Key,Value format.

color

String

A string color value assigned to this environment.

Size must be between 0 and 12 inclusive

authorizationIssuer

String

An entity that authorizes ApplicationAccess on this environment. Possible values are Stream owner and Automatic. Must be Automatic if visibility is Private. If not specified, default value is Stream owner

visibility

String

Defines the visibility of this environment. Possible values are Public and Private. If not specified, default value is Public

instance

String

A valid Instance URI where this environment should be deployed.

retentionTime

Number

The time in milliseconds after which the messages can be deleted from all streams. This is an optional field. If not specified, default value is 7 days (604800000).

partitions

Number

Defines the number of partitions configured for every stream of this tenant. This is an optional field. If not specified, default value is 12

Curl request

$ curl 'http://api.example.com/environments' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "KAD Test",
  "shortName" : "kad",
  "description" : "This is KAD test environment",
  "retentionTime" : 90000,
  "partitions" : 8,
  "authorizationIssuer" : "Stream owner",
  "visibility" : "Public",
  "instance" : "http://api.example.com/instances/b9301e9144324928911f7d83ec40c478",
  "owners" : "http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775",
  "properties" : {
    "stream.integrity" : "2",
    "stream.confidentiality" : "3"
  }
}'

HTTP request

POST /environments HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 466
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "KAD Test",
  "shortName" : "kad",
  "description" : "This is KAD test environment",
  "retentionTime" : 90000,
  "partitions" : 8,
  "authorizationIssuer" : "Stream owner",
  "visibility" : "Public",
  "instance" : "http://api.example.com/instances/b9301e9144324928911f7d83ec40c478",
  "owners" : "http://api.example.com/groups/c339c5cf9b5a4f6b8342c6ea2f9b6775",
  "properties" : {
    "stream.integrity" : "2",
    "stream.confidentiality" : "3"
  }
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:30:40 GMT
Location: http://api.example.com/environments/6fc3fd96a678469ba4de4b058dff1526
Content-Type: application/hal+json
Content-Length: 5107

{
  "properties" : {
    "stream.integrity" : "2",
    "stream.confidentiality" : "3"
  },
  "name" : "KAD Test",
  "shortName" : "kad",
  "description" : "This is KAD test environment",
  "color" : "#80affe",
  "authorizationIssuer" : "Stream owner",
  "visibility" : null,
  "retentionTime" : 90000,
  "partitions" : 8,
  "private" : false,
  "autoApproved" : false,
  "uid" : "6fc3fd96a678469ba4de4b058dff1526",
  "created_at" : "2024-04-10T14:30:40.690445105",
  "modified_at" : "2024-04-10T14:30:40.690445105",
  "created_by" : "poweruser@tenanta.nl",
  "modified_by" : "poweruser@tenanta.nl",
  "_embedded" : {
    "owners" : {
      "name" : "Application-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "instance" : {
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SSL",
        "rank" : 0,
        "mechanism" : "MUTUAL_TLS"
      }, {
        "protocol" : "SASL",
        "rank" : 2,
        "mechanism" : "OAUTH_BEARER"
      }, {
        "protocol" : "SASL",
        "rank" : 1,
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone1 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "uid" : "66c12e25ab06458eac988f0d700fbe81",
          "providerType" : null,
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "name" : "Zone2 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "uid" : "543c3b7d55634eba83b1472775c131c4",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "supportTier" : {
          "href" : "...",
          "templated" : true
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "owners" : {
      "href" : "...",
      "templated" : true,
      "title" : "The group responsible for this object"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    }
  }
}

Attempting to create environment on Instance with environmentMapping disabled

In case the Instance used by the Environment has environmentMapping=false, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 483

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Selected Instance has been restricted Environment mapping, please contact your Tenant Admin to create the Environment." ],
  "subErrors" : [ {
    "field" : "Environment.instance.environmentMapping",
    "rejectedValue" : false,
    "recommendedValues" : null,
    "errors" : [ "Selected Instance has been restricted Environment mapping, please contact your Tenant Admin to create the Environment." ]
  } ]
}

Retrieve an environment

The environments/{id} resource is used to retrieve, update and delete individual environments.

A GET request will retrieve the details of an environment.

Curl request

$ curl 'http://api.example.com/environments/46cfaf47d2d04d12923beefac3d0ba5a' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 4978

{
  "properties" : { },
  "name" : "tenantaprivenv1",
  "shortName" : "tenantaprivenv1",
  "description" : "environment",
  "color" : "#80affe",
  "authorizationIssuer" : "Auto",
  "visibility" : "private",
  "retentionTime" : 604800000,
  "partitions" : 12,
  "private" : true,
  "autoApproved" : true,
  "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "owners" : {
      "name" : "Environment-tenAenv1",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "instance" : {
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SSL",
        "rank" : 0,
        "mechanism" : "MUTUAL_TLS"
      }, {
        "protocol" : "SASL",
        "rank" : 2,
        "mechanism" : "OAUTH_BEARER"
      }, {
        "protocol" : "SASL",
        "rank" : 1,
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone1 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "uid" : "66c12e25ab06458eac988f0d700fbe81",
          "providerType" : null,
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "name" : "Zone2 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "uid" : "543c3b7d55634eba83b1472775c131c4",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "supportTier" : {
          "href" : "...",
          "templated" : true
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "owners" : {
      "href" : "...",
      "templated" : true,
      "title" : "The group responsible for this object"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    }
  }
}
Relation Description

instance

The Axual instance this environment is mapped to.

owners

The group of users allowed to access/update the environment.

edit

Existence of this link indicates that the currently authenticated user can edit this Environment

synchronize

Existence of this link indicates that currently authenticated user can synchronize this Environment.

Update an environment

Editing an Environment is a two-step process a GET request to check the constraints followed by the PATCH request. Some fields can only be updated if the constraints allow them. For example shortName, instance and visibility.

Get Edit environment constraints

A GET request is used to get the constraints for editing an environment.

$ curl 'http://api.example.com/environments/a5f2383ccce249459b24b7cb189b40bc/edit-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /environments/a5f2383ccce249459b24b7cb189b40bc/edit-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 117

{
  "canEditInstance" : true,
  "canEditShortName" : true,
  "canEditVisibility" : true,
  "streamConfigsCount" : 0
}

A PATCH request is used to update an environment. In the request, pass only the fields that need changing and ensure the fields can be updated in the constraints.

$ curl 'http://api.example.com/environments/46cfaf47d2d04d12923beefac3d0ba5a' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "description" : "Updated description"
}'
PATCH /environments/46cfaf47d2d04d12923beefac3d0ba5a HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 43
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "description" : "Updated description"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 4986

{
  "properties" : { },
  "name" : "tenantaprivenv1",
  "shortName" : "tenantaprivenv1",
  "description" : "Updated description",
  "color" : "#80affe",
  "authorizationIssuer" : "Auto",
  "visibility" : "private",
  "retentionTime" : 604800000,
  "partitions" : 12,
  "private" : true,
  "autoApproved" : true,
  "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "owners" : {
      "name" : "Environment-tenAenv1",
      "emailAddress" : null,
      "phoneNumber" : null,
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "instance" : {
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "protocol" : "SSL",
        "rank" : 0,
        "mechanism" : "MUTUAL_TLS"
      }, {
        "protocol" : "SASL",
        "rank" : 2,
        "mechanism" : "OAUTH_BEARER"
      }, {
        "protocol" : "SASL",
        "rank" : 1,
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "name" : "Zone1 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "uid" : "66c12e25ab06458eac988f0d700fbe81",
          "providerType" : null,
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "name" : "Zone2 Cluster OTA",
          "tenant" : null,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "uid" : "543c3b7d55634eba83b1472775c131c4",
          "providerType" : null,
          "bootstrapServers" : [ ],
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "_links" : {
            "tenant" : {
              "href" : "...",
              "title" : "A tenant"
            },
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            }
          }
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "supportTier" : {
          "href" : "...",
          "templated" : true
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "synchronize" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "owners" : {
      "href" : "...",
      "templated" : true,
      "title" : "The group responsible for this object"
    },
    "instance" : {
      "href" : "...",
      "templated" : true,
      "title" : "An instance"
    }
  }
}

Delete environment endpoints

Deleting environment is a two-step process a GET request to check the constraints followed by the DELETE request.

Delete environment constraints

A GET request is used to get the constraints for deleting environments.

$ curl 'http://api.example.com/environments/61b1b34b0c6744dcadb85f4c188517e5/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /environments/61b1b34b0c6744dcadb85f4c188517e5/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 211

{
  "canDelete" : true,
  "activeGrantsCount" : 0,
  "appPrincipalsCount" : 0,
  "appCredentialsCount" : 0,
  "streamConfigsCount" : 0,
  "appDeploymentCount" : 0,
  "streamIds" : [ ],
  "applicationIds" : [ ]
}

Delete environment

A DELETE request is used to delete an environment.

For private environments only, executing this operation will result in the deletion of not only the private environment itself but also its associated entities, including application principals, credentials, deployments, stream configs, accesses and access grants.

$ curl 'http://api.example.com/environments/61b1b34b0c6744dcadb85f4c188517e5' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /environments/61b1b34b0c6744dcadb85f4c188517e5 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Synchronize an environment

A synchronize operation is defined as the process of (re)-deploying all streams that are linked to this environment on the Kafka clusters. This effectively syncs the configuration stored in the database to every Kafka cluster that is part of this environment.

The operation is similar to instance synchronization except it is performed at environment level.

The process involves identifying streams that have valid configurations (StreamConfig) for this environment and deploying on the cluster.

This is a high-risk operation only allowed for certain roles. Check with your administrator for more details.

A POST request on /environments/uid/synchronize is used to synchronize an environment. When successful, a 204 No content response is returned. Depending on the number of streams that need to be synced, allow at least 30 seconds for the operation to complete.

Curl request

$ curl 'http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52/synchronize' -i -X POST \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'

HTTP request

POST /environments/047ab08009fe4da8be6905b55552ab52/synchronize HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
Content-Type: application/x-www-form-urlencoded

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Search endpoints

/environments/search/findByName

Search for an environment by exact name.

Parameter Description

name

Environment name to search for.

GET /environments/search/findByName?name=tenantaenv1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1063

{
  "_embedded" : {
    "environments" : [ {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/environments/search/findByNameContaining

Search for an environment by name containing search term.

Parameter Description

name

Term to search for within environment name.

GET /environments/search/findByNameContaining?name=tenantaenv1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2263

{
  "_embedded" : {
    "environments" : [ {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv10",
      "description" : "environment",
      "shortName" : "tenantaenv10",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "3gr4e2046dad49468e0848571982a4b8",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

/environments/search/findByShortName

Search for an environment by exact short name.

Parameter Description

shortName

Environment short name to search for.

GET /environments/search/findByShortName?shortName=tenantaenv1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1063

{
  "_embedded" : {
    "environments" : [ {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/environments/search/findByInstance

Search for environments that are deployed on this instance.

Parameter Description

instance

Find environments mapped to this instance. Must be a valid instance URI.

$ curl 'http://api.example.com/environments/search/findByInstance?instance=http%3A%2F%2Flocalhost%2Finstances%2Fb9301e9144324928911f7d83ec40c478' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 12305

{
  "_embedded" : {
    "environments" : [ {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv9_with_revoked_app_access_only",
      "description" : "environment with just revoked app_access configured",
      "shortName" : "tenantaenv9",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "3b7963da58d7445bbf7a900782713069",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv1",
      "description" : "environment",
      "shortName" : "tenantaprivenv1",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv7_with_app_access_only",
      "description" : "environment with just app_access configured",
      "shortName" : "tenantaenv7",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "48dd87236ec445138330adb1a8a79f7e",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv3",
      "description" : "environment",
      "shortName" : "tenantaprivenv3",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "72c1b34b0c6744dcadb85f4c188518f6",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv8_with_app_credential_only",
      "description" : "environment with just app_credential configured",
      "shortName" : "tenantaenv8",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "73f73e189c49430fbf1d8cc7494d24d4",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv_only_app_grant",
      "description" : "environment with just application_access_grant and no mapping to application_access",
      "shortName" : "tenantaenvgrant",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "92b521d4411942ca82b33782ddf50edd",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaprivenv7",
      "description" : "environment with application_access_grant and mapping to application_access",
      "shortName" : "tenantaprivenv7",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "a5f2383420e249459b24b7cb189b40bc",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv_no_streams",
      "description" : "environment",
      "shortName" : "tenantaenvns",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "a5f2383ccce249459b24b7cb189b40bc",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv4",
      "description" : "environment",
      "shortName" : "tenantaenv4",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "aa1ee2dd976647109ca904dd8adc050f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv5",
      "description" : "environment",
      "shortName" : "tenantaenv5",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "bb5be2dd976647109ca904dd8adc050f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv2",
      "description" : "environment",
      "shortName" : "tenantaenv2",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "e11ee2dd976647109ca904dd8adc050f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    }, {
      "name" : "tenantaenv6_with_app_principal",
      "description" : "environment with just app_principal configured",
      "shortName" : "tenantaenv6",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "e26e0006c5504351a58e3181066cf56a",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/environments/search/findByApplication

Search for environments that are used by this application.

Parameter Description

application

Find environments with this application active. Must be a valid application URI.

$ curl 'http://api.example.com/environments/search/findByApplication?application=http%3A%2F%2Flocalhost%2Fapplications%2F5ffc4240fcdf4a479a16f2b0b12ab909' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 53706

{
  "_embedded" : {
    "environmentsWithStatuses" : [ {
      "active" : true,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv3",
          "description" : "environment",
          "shortName" : "tenantaenv3",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "156ab08009fe4da8be6905b55552ab63",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "envdefault",
          "description" : "environment",
          "shortName" : "envdefault",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "156ab08009fe4da96e6905b55552ab63",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "description" : "environment with just revoked app_access configured",
          "shortName" : "tenantaenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv10",
          "description" : "environment",
          "shortName" : "tenantaenv10",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3gr4e2046dad49468e0848571982a4b8",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv1",
          "description" : "environment",
          "shortName" : "tenantaprivenv1",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv7_with_app_access_only",
          "description" : "environment with just app_access configured",
          "shortName" : "tenantaenv7",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "48dd87236ec445138330adb1a8a79f7e",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_no_streams_2",
          "description" : "environment",
          "shortName" : "tenantaenvns2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "5e7e07b5e7784baf8dcebe1b03d5d410",
          "created_at" : "2022-10-31T23:16:23",
          "modified_at" : "2022-10-31T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv2",
          "description" : "environment",
          "shortName" : "tenantaprivenv2",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "61b1b34b0c6744dcadb85f4c188517e5",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv5",
          "description" : "environment",
          "shortName" : "tenantaprivenv5",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "6u2577bclboz97ievex0fv5hvysemooh",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv3",
          "description" : "environment",
          "shortName" : "tenantaprivenv3",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "72c1b34b0c6744dcadb85f4c188518f6",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv8_with_app_credential_only",
          "description" : "environment with just app_credential configured",
          "shortName" : "tenantaenv8",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e189c49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_app_principal_and_credential",
          "description" : "environment with app access and grant configured",
          "shortName" : "tenantapublicenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e918d49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv4",
          "description" : "environment",
          "shortName" : "tenantaprivenv4",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "83c1b34b0c6744dcadb85f4c188518g5",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv6",
          "description" : "environment",
          "shortName" : "tenantaprivenv6",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "8fe4bc6b01bc4ff39ac9769ffe1fb77f",
          "created_at" : "2022-09-06T10:00:00",
          "modified_at" : "2022-09-06T10:00:00",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_only_app_grant",
          "description" : "environment with just application_access_grant and no mapping to application_access",
          "shortName" : "tenantaenvgrant",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "92b521d4411942ca82b33782ddf50edd",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv7",
          "description" : "environment with application_access_grant and mapping to application_access",
          "shortName" : "tenantaprivenv7",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "a5f2383420e249459b24b7cb189b40bc",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_no_streams",
          "description" : "environment",
          "shortName" : "tenantaenvns",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "a5f2383ccce249459b24b7cb189b40bc",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv4",
          "description" : "environment",
          "shortName" : "tenantaenv4",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "aa1ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv5",
          "description" : "environment",
          "shortName" : "tenantaenv5",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "bb5be2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv2",
          "description" : "environment",
          "shortName" : "tenantaenv2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e11ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv6_with_app_principal",
          "description" : "environment with just app_principal configured",
          "shortName" : "tenantaenv6",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e26e0006c5504351a58e3181066cf56a",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "application" : {
              "href" : "...",
              "templated" : true,
              "title" : "An application"
            }
          }
        },
        "stream" : null
      },
      "connectorLoggingEnabled" : false
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/environments/search/findByStream

Search for environments that are used by this stream.

Parameter Description

stream

Find environments with this stream active. Must be a valid stream URI.

$ curl 'http://api.example.com/environments/search/findByStream?stream=http%3A%2F%2Flocalhost%2Fstreams%2F066f5944d16344f88c9214d240d139dc' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 75355

{
  "_embedded" : {
    "environmentsWithStatuses" : [ {
      "active" : true,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv3",
          "description" : "environment",
          "shortName" : "tenantaenv3",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "156ab08009fe4da8be6905b55552ab63",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "envdefault",
          "description" : "environment",
          "shortName" : "envdefault",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "156ab08009fe4da96e6905b55552ab63",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "description" : "environment with just revoked app_access configured",
          "shortName" : "tenantaenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv10",
          "description" : "environment",
          "shortName" : "tenantaenv10",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3gr4e2046dad49468e0848571982a4b8",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv1",
          "description" : "environment",
          "shortName" : "tenantaprivenv1",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv7_with_app_access_only",
          "description" : "environment with just app_access configured",
          "shortName" : "tenantaenv7",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "48dd87236ec445138330adb1a8a79f7e",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_no_streams_2",
          "description" : "environment",
          "shortName" : "tenantaenvns2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "5e7e07b5e7784baf8dcebe1b03d5d410",
          "created_at" : "2022-10-31T23:16:23",
          "modified_at" : "2022-10-31T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv2",
          "description" : "environment",
          "shortName" : "tenantaprivenv2",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "61b1b34b0c6744dcadb85f4c188517e5",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv5",
          "description" : "environment",
          "shortName" : "tenantaprivenv5",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "6u2577bclboz97ievex0fv5hvysemooh",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv3",
          "description" : "environment",
          "shortName" : "tenantaprivenv3",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "72c1b34b0c6744dcadb85f4c188518f6",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv8_with_app_credential_only",
          "description" : "environment with just app_credential configured",
          "shortName" : "tenantaenv8",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e189c49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_app_principal_and_credential",
          "description" : "environment with app access and grant configured",
          "shortName" : "tenantapublicenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e918d49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv4",
          "description" : "environment",
          "shortName" : "tenantaprivenv4",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "83c1b34b0c6744dcadb85f4c188518g5",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv6",
          "description" : "environment",
          "shortName" : "tenantaprivenv6",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "8fe4bc6b01bc4ff39ac9769ffe1fb77f",
          "created_at" : "2022-09-06T10:00:00",
          "modified_at" : "2022-09-06T10:00:00",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_only_app_grant",
          "description" : "environment with just application_access_grant and no mapping to application_access",
          "shortName" : "tenantaenvgrant",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "92b521d4411942ca82b33782ddf50edd",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv7",
          "description" : "environment with application_access_grant and mapping to application_access",
          "shortName" : "tenantaprivenv7",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "a5f2383420e249459b24b7cb189b40bc",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv_no_streams",
          "description" : "environment",
          "shortName" : "tenantaenvns",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "a5f2383ccce249459b24b7cb189b40bc",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv4",
          "description" : "environment",
          "shortName" : "tenantaenv4",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "aa1ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : false,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv5",
          "description" : "environment",
          "shortName" : "tenantaenv5",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "bb5be2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : false,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv2",
          "description" : "environment",
          "shortName" : "tenantaenv2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e11ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    }, {
      "active" : true,
      "browsable" : true,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv6_with_app_principal",
          "description" : "environment with just app_principal configured",
          "shortName" : "tenantaenv6",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e26e0006c5504351a58e3181066cf56a",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "environment" : {
              "href" : "...",
              "templated" : true,
              "title" : "An environment"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            }
          }
        },
        "application" : null,
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "self" : {
              "href" : "...",
              "title" : "URI pointing to current request"
            },
            "stream" : {
              "href" : "...",
              "templated" : true,
              "title" : "A stream"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            }
          }
        }
      },
      "connectorLoggingEnabled" : false
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/environments/search/findByPluginClass

Search for environments that are used by this plugin class.

Parameter Description

pluginClass

Connector plugin class name

$ curl 'http://api.example.com/environments/search/findByPluginClass?pluginClass=io.axual.test.sink.plugin' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 796

{
  "envPluginVersionMap" : {
    "tenantaenv1" : "1.0.0",
    "tenantaprivenv1" : "1.0.0",
    "tenantaenvgrant" : "1.0.0",
    "tenantaprivenv2" : "1.0.2",
    "tenantaprivenv3" : "1.0.0",
    "tenantaenv4" : "1.0.0",
    "tenantaprivenv4" : "1.0.2",
    "tenantaenv5" : "1.0.0",
    "tenantaprivenv5" : "1.0.1",
    "tenantaenv2" : "1.0.0",
    "tenantaenv3" : "1.0.2",
    "tenantaprivenv6" : "1.0.2",
    "tenantaenvns" : "1.0.0",
    "envdefault" : "1.0.2",
    "tenantaenvns2" : "1.0.2",
    "tenantaenv8" : "1.0.0",
    "tenantaprivenv7" : "1.0.0",
    "tenantaenv9" : "1.0.0",
    "tenantapublicenv9" : "1.0.1",
    "tenantaenv6" : "1.0.0",
    "tenantaenv7" : "1.0.0"
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/environments/search/findByAttributes

A GET request is used to retrieve all environments based on paging parameters.

Query parameters
Parameter Description

sort

Property to sort on and the direction.

page

Navigate through different pages.

size

Property to define the page size.

HTTP request
GET /environments/search/findByAttributes?sort=name%2Casc&page=0&size=5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 4708

{
  "_embedded" : {
    "environments" : [ {
      "name" : "envdefault",
      "description" : "environment",
      "shortName" : "envdefault",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "156ab08009fe4da96e6905b55552ab63",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenantaenv_no_streams",
      "description" : "environment",
      "shortName" : "tenantaenvns",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "a5f2383ccce249459b24b7cb189b40bc",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenantaenv_no_streams_2",
      "description" : "environment",
      "shortName" : "tenantaenvns2",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "5e7e07b5e7784baf8dcebe1b03d5d410",
      "created_at" : "2022-10-31T23:16:23",
      "modified_at" : "2022-10-31T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenantaenv_only_app_grant",
      "description" : "environment with just application_access_grant and no mapping to application_access",
      "shortName" : "tenantaenvgrant",
      "visibility" : "private",
      "color" : "#80affe",
      "uid" : "92b521d4411942ca82b33782ddf50edd",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 5,
    "totalElements" : 22,
    "totalPages" : 5,
    "number" : 0
  }
}
Filter by name

A GET request will retrieve an environment by name. The parameter name is not case-sensitive.

Query parameters
Parameter Description

name

Environment name to search for.

HTTP request
GET /environments/search/findByAttributes?name=tenantaenv1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2063

{
  "_embedded" : {
    "environments" : [ {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenantaenv10",
      "description" : "environment",
      "shortName" : "tenantaenv10",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "3gr4e2046dad49468e0848571982a4b8",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by groupName

A GET request will retrieve an environment by groupName. The parameter groupName is not case-sensitive.

Query parameters
Parameter Description

groupName

Environment owner name to search for.

HTTP request
GET /environments/search/findByAttributes?groupName=aac290536035440e9a85f193e4affeb3 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 350

{
  "_embedded" : {
    "environments" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

Export Environments in CSV

A GET request is used to export a CSV containing information about the Environments.

$ curl 'http://api.example.com/export/environments' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /export/environments HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Disposition: attachment; filename="environments.csv"
Content-Length: 4564

"NAME","SHORT_NAME","DESCRIPTION","INSTANCE","OWNERS_GROUP_NAME","CREATED_BY","CREATED_AT","MODIFIED_BY","MODIFIED_AT","VISIBILITY","AUTHORIZATION_ISSUER","PARTITIONS","PROPERTIES","RETENTION_TIME"
"tenantaenv1","tenantaenv1","environment","TenantA OTA","Environment-tenAenv1","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaenv3","tenantaenv3","environment","TenantA LST","Environment-tenAenv1","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"envdefault","envdefault","environment","TenantA LST","Environment-tenAenv1","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","32","{replication.factor=1234, min.insync.replicas=123, segment.ms=696969}","1234"
"tenantaenv9_with_revoked_app_access_only","tenantaenv9","environment with just revoked app_access configured","TenantA OTA","Stream-tenAApplication1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PUBLIC","AUTO","12","{}","604800000"
"tenantaenv10","tenantaenv10","environment","TenantA OTA2","Environment-tenantaenv22","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaprivenv1","tenantaprivenv1","environment","TenantA OTA","Environment-tenAenv1","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaenv7_with_app_access_only","tenantaenv7","environment with just app_access configured","TenantA OTA","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PUBLIC","AUTO","12","{}","604800000"
"tenantaenv_no_streams_2","tenantaenvns2","environment","TenantA LST","Environment-tenAenv1","","2022-10-31T23:16:23","","2022-10-31T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaprivenv2","tenantaprivenv2","environment","TenantA LST","Environment-tenAprivenv2","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaprivenv5","tenantaprivenv5","environment","TenantA Prod","Team Kad","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaprivenv3","tenantaprivenv3","environment","TenantA OTA","Environment-tenAprivenv2","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaenv8_with_app_credential_only","tenantaenv8","environment with just app_credential configured","TenantA OTA","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PUBLIC","AUTO","12","{}","604800000"
"tenantaenv9_with_app_principal_and_credential","tenantapublicenv9","environment with app access and grant configured","TenantA Prod","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PUBLIC","AUTO","12","{}","604800000"
"tenantaprivenv4","tenantaprivenv4","environment","TenantA LST","Environment-tenAprivenv2","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaprivenv6","tenantaprivenv6","environment","TenantA LST","Team Kad","","2022-09-06T10:00","","2022-09-06T10:00","PRIVATE","AUTO","12","{}","604800000"
"tenantaenv_only_app_grant","tenantaenvgrant","environment with just application_access_grant and no mapping to application_access","TenantA OTA","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaprivenv7","tenantaprivenv7","environment with application_access_grant and mapping to application_access","TenantA OTA","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PRIVATE","AUTO","12","{}","604800000"
"tenantaenv_no_streams","tenantaenvns","environment","TenantA OTA","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaenv4","tenantaenv4","environment","TenantA OTA","Stream-tenAApplication2","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaenv5","tenantaenv5","environment","TenantA OTA","Stream-tenAApplication2","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaenv2","tenantaenv2","environment","TenantA OTA","Stream-tenAApplication2","","2018-06-07T23:16:23","","2018-06-07T23:16:23","PUBLIC","STREAM_OWNER","12","{}","604800000"
"tenantaenv6_with_app_principal","tenantaenv6","environment with just app_principal configured","TenantA OTA","Environment-tenAenv1","","2021-06-07T23:16:23","","2021-06-07T23:16:23","PUBLIC","AUTO","12","{}","604800000"

Monitoring Information of an environment

The monitoring-information/{environmentShortName} resource is used to retrieve the TenantShortName, InstanceShortName, EnvironmentShortName, Cluster’s Topic and Group Pattern for this environment.

List All Monitoring Information

A GET request will retrieve the details of the monitoring information based on the provided environment’s short name.

Curl request

$ curl 'http://api.example.com/monitoring-information/tenantaenv1' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /monitoring-information/tenantaenv1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 538

{
  "tenantShortName" : "tenanta",
  "instanceShortName" : "ota",
  "envShortName" : "tenantaenv1",
  "clusterMonitoringInfoList" : [ {
    "clusterName" : "Zone2 Cluster OTA",
    "clusterPatterns" : {
      "topic" : "{tenant}-{instance}-{environment}-{topic}",
      "group" : "{tenant}-{instance}-{environment}-{group}"
    }
  }, {
    "clusterName" : "Zone1 Cluster OTA",
    "clusterPatterns" : {
      "topic" : "{tenant}-{instance}-{environment}-{topic}",
      "group" : "{tenant}-{instance}-{environment}-{group}"
    }
  } ]
}

Monitoring Information in a Governance installation

The monitoring_information/{instanceShortName} resource is used to retrieve the Cluster’s Topic and Group Pattern for all clusters used by the Instance provided.

Get Monitoring Information for an Instance

A GET request will retrieve the cluster monitoring information details based on the provided InstanceShortName.

All clusters connected to the Instance will be returned.

Curl request

$ curl 'http://api.example.com/monitoring_information/ota' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /monitoring_information/ota HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 436

{
  "clusterMonitoringInfo" : [ {
    "clusterName" : "Zone2 Cluster OTA",
    "clusterPatterns" : {
      "topic" : "{tenant}-{instance}-{environment}-{topic}",
      "group" : "{tenant}-{instance}-{environment}-{group}"
    }
  }, {
    "clusterName" : "Zone1 Cluster OTA",
    "clusterPatterns" : {
      "topic" : "{tenant}-{instance}-{environment}-{topic}",
      "group" : "{tenant}-{instance}-{environment}-{group}"
    }
  } ]
}

Applications

An Application is a piece of software that is capable of producing or consuming events from a data stream.

With release of 0.7.5, we have introduced a new field visibility that defines the concept of public and private application.

A public application is visible to every authenticated user within a tenant. A private application, on the other hand, is only visible to the team that owns it. Most applications that are created for test purposes and are not intended to be deployed in production are marked as private.

For now, this field is optional with a default value of public, so this field can be ignored while creating a new application.

The /applications resource is used to list and create applications.

Application schema

The applications resource uses the following json-schema:

HTTP request

GET /profile/applications HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 3826

{
  "title" : "Application",
  "properties" : {
    "applicationType" : {
      "title" : "Application type",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "Custom", "Connector" ]
    },
    "visibility" : {
      "title" : "Visibility",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "public", "private" ]
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "owners" : {
      "title" : "Owners",
      "readOnly" : false,
      "type" : "object",
      "$ref" : "#/definitions/group"
    },
    "type" : {
      "title" : "Type",
      "readOnly" : false,
      "type" : "string"
    },
    "allApplicationIds" : {
      "title" : "All application ids",
      "readOnly" : true,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "type" : "object"
      }
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "applicationClass" : {
      "title" : "Application class",
      "readOnly" : false,
      "type" : "string"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "shortName" : {
      "title" : "Short name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "applicationId" : {
      "title" : "Application id",
      "readOnly" : false,
      "type" : "string"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    }
  },
  "definitions" : {
    "emailAddress" : {
      "type" : "object",
      "properties" : {
        "email" : {
          "title" : "Email",
          "readOnly" : true,
          "type" : "string"
        }
      }
    },
    "group" : {
      "type" : "object",
      "properties" : {
        "uid" : {
          "title" : "Uid",
          "readOnly" : true,
          "type" : "string"
        },
        "emailAddress" : {
          "title" : "Email address",
          "readOnly" : false,
          "type" : "object",
          "$ref" : "#/definitions/emailAddress"
        },
        "phoneNumber" : {
          "title" : "Phone number",
          "readOnly" : false,
          "type" : "string"
        },
        "members" : {
          "title" : "Members",
          "readOnly" : false,
          "type" : "string",
          "format" : "uri"
        },
        "name" : {
          "title" : "Name",
          "readOnly" : false,
          "type" : "string"
        },
        "modified_by" : {
          "title" : "Modified by",
          "readOnly" : false,
          "type" : "string"
        },
        "created_at" : {
          "title" : "Created at",
          "readOnly" : true,
          "type" : "string",
          "format" : "date-time"
        },
        "modified_at" : {
          "title" : "Modified at",
          "readOnly" : false,
          "type" : "string",
          "format" : "date-time"
        },
        "created_by" : {
          "title" : "Created by",
          "readOnly" : true,
          "type" : "string"
        },
        "properties" : {
          "title" : "Properties",
          "readOnly" : false,
          "type" : "object"
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all applications

A GET request will list all the public applications and the applications owned by the currently logged-in user.

Curl request

$ curl 'http://api.example.com/applications' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /applications HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 21244

{
  "_embedded" : {
    "applications" : [ {
      "name" : "testRevoke",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "test_revoke",
      "visibility" : "private",
      "uid" : "39d82d7994484b53ae1de37ee8924512",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaApplication2",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "tenantaApplication2 description.",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app2",
      "visibility" : "public",
      "uid" : "39d82d7f34484b53ae1dd47ee8924502",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaApplication3",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "tenantaApplication3 description.",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app3",
      "visibility" : "private",
      "uid" : "39d82d7f34484b53ae1dd47ee8924512",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaApplication4",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "tenantaApplication4 description.",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app4",
      "visibility" : "public",
      "uid" : "4180e2f2493944948e4df46ba36ba964",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaAutoApplication3",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_auto_app3",
      "visibility" : "public",
      "uid" : "4cc380171afc4c898b6f6c02caccf451",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaApplication1",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "tenantaApplication1 description.",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app1",
      "visibility" : "public",
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "publicEnvRevoke",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_revoke_public",
      "visibility" : "private",
      "uid" : "68e4d4e2e3e54ddc836006655d42a995",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination10",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination10",
      "visibility" : "public",
      "uid" : "a2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaAutoApplication4",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_auto_app4",
      "visibility" : "public",
      "uid" : "aec9e4570f1c4866bef77722e2830d4b",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantaApplication14",
      "type" : "SOURCE",
      "applicationClass" : "io.axual.test.source.plugin",
      "description" : "",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app14",
      "visibility" : "public",
      "uid" : "bb3234224b974292a607fe9dd80fe1ae",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination1",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination1",
      "visibility" : "public",
      "uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination5",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination5",
      "visibility" : "public",
      "uid" : "d2e92e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination3",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination3",
      "visibility" : "public",
      "uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination9",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination9",
      "visibility" : "public",
      "uid" : "d2e98e1831c74cf1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination7",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination7",
      "visibility" : "public",
      "uid" : "d2e98e1831c74ff1beb09510d0bf7377",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination6",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination6",
      "visibility" : "public",
      "uid" : "d2e98e1831c74ff1beb09510d0bf7e17",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenantbApplication2",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenantb_app2",
      "visibility" : "public",
      "uid" : "d2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination11",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination11",
      "visibility" : "public",
      "uid" : "d2e98e1831c74ff6beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination4",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination4",
      "visibility" : "public",
      "uid" : "d2e98e1831cc4ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    }, {
      "name" : "tenanta_app_pagination8",
      "type" : "Java",
      "applicationClass" : null,
      "description" : null,
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app_pagination8",
      "visibility" : "public",
      "uid" : "d2e98ef831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 33,
    "totalPages" : 2,
    "number" : 0
  }
}
Relation Description

create

Existence of this link indicates that the currently authenticated user can create a new Application

Create Custom application

A POST request is used to create a new application.

Request fields

Path Type Description Constraints

name

String

The name of the Application. Must be unique per tenant.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 100 inclusive

applicationId

String

The applicationId of the Application, usually a fully qualified class name and underscores _ are allowed. Must be unique.

shortName

String

Unique human-readable name for the application. Only Alphanumeric and underscore allowed. Must be unique per tenant.

Must match the regular expression (?i)^[a-z0-9_]+$. Must not be empty. Size must be between 3 and 60 inclusive

owners

String

A valid URI of an existing group, must not be null.

Must not be null

description

String

A short summary describing the application

Size must be between 0 and 200 inclusive

visibility

String

Defines the visibility of this application. Possible values are Public and Private

properties

Object

A list of Application specific variables in Key,Value format.

applicationType

String

Application Axual type. Possible values are Custom and Connector.

Must not be null

type

String

Application software. Possible values: Java, Pega, SAP, DotNet, Bridge

Curl request

$ curl 'http://api.example.com/applications' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "applicationId" : "nl.tenanta.test.application,nl.tenanta.test.application2",
  "name" : "Test Application",
  "shortName" : "test_app",
  "description" : "This is a test application",
  "applicationType" : "CUSTOM",
  "type" : "Java",
  "visibility" : "PRIVATE",
  "owners" : "http://api.example.com/groups/514d4oit834841869644c2ad8b439997",
  "properties" : {
    "app.property1" : "value1",
    "app.property2" : "value2",
    "app.property3" : "value3",
    "app.property4" : "value4",
    "app.property5" : "value5"
  }
}'

HTTP request

POST /applications HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 530
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "nl.tenanta.test.application,nl.tenanta.test.application2",
  "name" : "Test Application",
  "shortName" : "test_app",
  "description" : "This is a test application",
  "applicationType" : "CUSTOM",
  "type" : "Java",
  "visibility" : "PRIVATE",
  "owners" : "http://api.example.com/groups/514d4oit834841869644c2ad8b439997",
  "properties" : {
    "app.property1" : "value1",
    "app.property2" : "value2",
    "app.property3" : "value3",
    "app.property4" : "value4",
    "app.property5" : "value5"
  }
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:38:01 GMT
Location: http://api.example.com/applications/675a9381bb154e78a2291f2ef371fcdd
Content-Type: application/hal+json
Content-Length: 4638

{
  "name" : "Test Application",
  "shortName" : "test_app",
  "description" : "This is a test application",
  "applicationType" : "Custom",
  "type" : "Java",
  "applicationClass" : null,
  "visibility" : "private",
  "owners" : {
    "name" : "Team App Admins",
    "emailAddress" : null,
    "phoneNumber" : null,
    "properties" : { },
    "uid" : "514d4oit834841869644c2ad8b439997",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : null,
    "created_by" : null,
    "modified_by" : null,
    "_embedded" : {
      "members" : [ {
        "firstName" : "appAuthor",
        "emailAddress" : {
          "email" : "appauthor@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "tenAdmin",
        "emailAddress" : {
          "email" : "tenadmin@tenantactive.nl"
        },
        "lastName" : "TenantActive",
        "uid" : "s39sef147df84179a151bdc21f5bb813",
        "middleName" : "middleName",
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "appAdmin",
        "emailAddress" : {
          "email" : "appadmin@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "caa51002633244ffbe36f4ccf8a8f501",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "powerUser",
        "emailAddress" : {
          "email" : "poweruser@tenantactive.nl"
        },
        "lastName" : "powerUser",
        "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      } ]
    },
    "_links" : {
      "edit" : {
        "href" : "...",
        "title" : "Indication that this entity can be edited"
      },
      "delete" : {
        "href" : "...",
        "title" : "Indication that this entity can be deleted"
      },
      "members" : [ {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      } ]
    }
  },
  "properties" : {
    "app.property1" : "value1",
    "app.property2" : "value2",
    "app.property3" : "value3",
    "app.property4" : "value4",
    "app.property5" : "value5"
  },
  "allApplicationIds" : [ "nl.tenanta.test.application", "nl.tenanta.test.application2" ],
  "uid" : "675a9381bb154e78a2291f2ef371fcdd",
  "created_at" : "2024-04-10T14:38:01.471682499",
  "modified_at" : "2024-04-10T14:38:01.471682499",
  "created_by" : "poweruser@tenanta.nl",
  "modified_by" : "poweruser@tenanta.nl",
  "applicationId" : "nl.tenanta.test.application,nl.tenanta.test.application2",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "createApplicationPrincipal" : {
      "href" : "..."
    },
    "createApplicationAccess" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Create Connector application

A POST request is used to create a new connector application.

Request fields

Path Type Description Constraints

name

String

The name of the Application. Must be unique per tenant.

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 100 inclusive

applicationId

String

The applicationId of the Application, usually a fully qualified class name. Must be unique.

shortName

String

Unique human-readable name for the application. Only Alphanumeric and underscore allowed. Must be unique per tenant.

Must match the regular expression (?i)^[a-z0-9_]+$. Must not be empty. Size must be between 3 and 60 inclusive

owners

String

The group id that describes the group details and must not be null.

Must not be null

description

String

A short summary describing the application

Size must be between 0 and 200 inclusive

visibility

String

Defines the visibility of this application. Possible values are Public and Private

properties

Object

A list of Application specific variables in Key,Value format.

applicationType

String

Application Axual type. Possible values are Custom and Connector.

Must not be null

applicationClass

String

Meaningful only when applicationType=CONNECTOR. Specify the connector used in Axual Connect.

applicationClassVersion

String

Meaningful only when applicationType=CONNECTOR. Specify the connector version used in Axual Connect.

type

String

When applicationType=CUSTOM possible values are Java, Pega, SAP, DotNet, Bridge. When applicationType=CONNECTOR possible values are SINK, SOURCE.

Curl request

$ curl 'http://api.example.com/applications' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "applicationId" : "com.axual.turbulence.connector.application1",
  "name" : "Test Connector Application",
  "shortName" : "test_cnnt_app",
  "description" : "This is a connector test application",
  "applicationType" : "CONNECTOR",
  "type" : "sink",
  "applicationClass" : "io.axual.distributor.logger.MessageLogger",
  "applicationClassVersion" : "1.0.0",
  "visibility" : "PRIVATE",
  "owners" : "http://api.example.com/groups/514d4oit834841869644c2ad8b439997"
}'

HTTP request

POST /applications HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 469
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "com.axual.turbulence.connector.application1",
  "name" : "Test Connector Application",
  "shortName" : "test_cnnt_app",
  "description" : "This is a connector test application",
  "applicationType" : "CONNECTOR",
  "type" : "sink",
  "applicationClass" : "io.axual.distributor.logger.MessageLogger",
  "applicationClassVersion" : "1.0.0",
  "visibility" : "PRIVATE",
  "owners" : "http://api.example.com/groups/514d4oit834841869644c2ad8b439997"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:38:01 GMT
Location: http://api.example.com/applications/7372fe09ce724702a455492c25fbd57c
Content-Type: application/hal+json
Content-Length: 4581

{
  "name" : "Test Connector Application",
  "shortName" : "test_cnnt_app",
  "description" : "This is a connector test application",
  "applicationType" : "Connector",
  "type" : "sink",
  "applicationClass" : "io.axual.distributor.logger.MessageLogger",
  "visibility" : "private",
  "owners" : {
    "name" : "Team App Admins",
    "emailAddress" : null,
    "phoneNumber" : null,
    "properties" : { },
    "uid" : "514d4oit834841869644c2ad8b439997",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : null,
    "created_by" : null,
    "modified_by" : null,
    "_embedded" : {
      "members" : [ {
        "firstName" : "appAuthor",
        "emailAddress" : {
          "email" : "appauthor@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "tenAdmin",
        "emailAddress" : {
          "email" : "tenadmin@tenantactive.nl"
        },
        "lastName" : "TenantActive",
        "uid" : "s39sef147df84179a151bdc21f5bb813",
        "middleName" : "middleName",
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "appAdmin",
        "emailAddress" : {
          "email" : "appadmin@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "caa51002633244ffbe36f4ccf8a8f501",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "powerUser",
        "emailAddress" : {
          "email" : "poweruser@tenantactive.nl"
        },
        "lastName" : "powerUser",
        "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      } ]
    },
    "_links" : {
      "edit" : {
        "href" : "...",
        "title" : "Indication that this entity can be edited"
      },
      "delete" : {
        "href" : "...",
        "title" : "Indication that this entity can be deleted"
      },
      "members" : [ {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      } ]
    }
  },
  "properties" : { },
  "allApplicationIds" : [ "com.axual.turbulence.connector.application1" ],
  "uid" : "7372fe09ce724702a455492c25fbd57c",
  "created_at" : "2024-04-10T14:38:01.380248415",
  "modified_at" : "2024-04-10T14:38:01.380248415",
  "created_by" : "poweruser@tenanta.nl",
  "modified_by" : "poweruser@tenanta.nl",
  "applicationId" : "com.axual.turbulence.connector.application1",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "createApplicationPrincipal" : {
      "href" : "..."
    },
    "createApplicationAccess" : {
      "href" : "..."
    },
    "createApplicationDeployment" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Retrieve an application

The applications/{id} resource is used to retrieve, update and delete individual application.

A GET request will retrieve the details of an application.

HTTP request

GET /applications/5ffc4240fcdf4a479a16f2b0b12ab909 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 3719

{
  "name" : "tenantaApplication1",
  "shortName" : "tenanta_app1",
  "description" : "tenantaApplication1 description.",
  "applicationType" : "Custom",
  "type" : "Java",
  "applicationClass" : null,
  "visibility" : "public",
  "owners" : {
    "name" : "Application-tenAApplication1",
    "emailAddress" : null,
    "phoneNumber" : null,
    "properties" : { },
    "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : null,
    "created_by" : null,
    "modified_by" : null,
    "_embedded" : {
      "members" : [ {
        "firstName" : "envAuthor",
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "envAdmin",
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "appOwner",
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      } ]
    },
    "_links" : {
      "edit" : {
        "href" : "...",
        "title" : "Indication that this entity can be edited"
      },
      "delete" : {
        "href" : "...",
        "title" : "Indication that this entity can be deleted"
      },
      "members" : [ {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      } ]
    }
  },
  "properties" : { },
  "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
  "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "createApplicationPrincipal" : {
      "href" : "..."
    },
    "createApplicationAccess" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}
Relation Description

edit

Existence of this link indicates that the currently authenticated user can edit this Application

delete

Existence of this link indicates that the currently authenticated user can cascade delete this Application

createApplicationPrincipal

Existence of this link indicates that the currently authenticated user can create the ApplicationPrincipal for this Application

createApplicationAccess

Existence of this link indicates that the currently authenticated user can request consuming or producing streams for this Application

Retrieve a connector/plugin config

The applications/{id}/config resource is used to retrieve default connector config define in the plugin class for a specific environment.

A GET request will retrieve the details of a connector/plugin config using a specific Environment resource.

If the environment has not configured this plugin class, the response will be empty.

Query parameters

Parameter Description

environment

A valid URI of an existing Environment

HTTP request

GET /applications/dbc9e4670h1c4866deg78722e2930d2g/config?environment=http%3A%2F%2Flocalhost%2Fenvironments%2F047ab08009fe4da8be6905b55552ab52 HTTP/1.1
Content-Type: application/json
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2155

{
  "pluginConfigs" : [ {
    "name" : "connector.class",
    "type" : "STRING",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "HIGH",
    "documentation" : "Name or alias of the class for this connector. Must be a subclass of org.apache.kafka.connect.connector.Connector. If the connector is org.apache.kafka.connect.file.FileStreamSinkConnector, you can either specify this full name,  or use \"FileStreamSink\" or \"FileStreamSinkConnector\" to make the configuration a bit shorter",
    "pluginConfigState" : null,
    "group" : "group1"
  }, {
    "name" : "key.converter",
    "type" : "CLASS",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "LOW",
    "documentation" : null,
    "pluginConfigState" : null,
    "group" : "group1"
  }, {
    "name" : "logger.name",
    "type" : "STRING",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "HIGH",
    "documentation" : "The name of the SLF4J Logger to write the messages",
    "pluginConfigState" : null,
    "group" : "group2"
  }, {
    "name" : "name",
    "type" : "STRING",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "HIGH",
    "documentation" : "Globally unique name to use for this connector.",
    "pluginConfigState" : null,
    "group" : "group2"
  }, {
    "name" : "tasks.max",
    "type" : "INT",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "LOW",
    "documentation" : null,
    "pluginConfigState" : null,
    "group" : "group3"
  }, {
    "name" : "transforms",
    "type" : "LIST",
    "required" : true,
    "defaultValue" : "",
    "providedValue" : "",
    "importance" : "LOW",
    "documentation" : "Aliases for the transformations to be applied to records.",
    "pluginConfigState" : null,
    "group" : "group1"
  } ],
  "unsupportedPluginConfigFound" : false,
  "newMandatoryPluginConfigFound" : false,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}
Relation Description

self

URI pointing to current request

If the environment is not passed, the first instance will be used for searching the plugin config.

HTTP request

GET /applications/dbc9e4670h1c4866deg78722e2930d2g/config HTTP/1.1
Content-Type: application/json
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 225

{
  "pluginConfigs" : [ ],
  "unsupportedPluginConfigFound" : false,
  "newMandatoryPluginConfigFound" : false,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}
Relation Description

self

URI pointing to current request

Update an application

A PATCH request is used to update an application. In the request, pass only the field that needs changing.

Curl request

$ curl 'http://api.example.com/applications/39d82d7994484b53ae1de37ee8924512' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "updated_name"
}'

HTTP request

PATCH /applications/39d82d7994484b53ae1de37ee8924512 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 29
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "updated_name"
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Sun, 01 Nov 2020 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 2302

{
  "name" : "updated_name",
  "shortName" : "test_revoke",
  "description" : "",
  "applicationType" : "Custom",
  "type" : "Java",
  "applicationClass" : null,
  "visibility" : "private",
  "owners" : {
    "name" : "Team Kad",
    "emailAddress" : null,
    "phoneNumber" : null,
    "properties" : { },
    "uid" : "514d4e9a834841869644c2ad8b439553",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : null,
    "created_by" : null,
    "modified_by" : null,
    "_embedded" : {
      "members" : [ {
        "firstName" : "kad",
        "emailAddress" : {
          "email" : "kadmember@tenanta.nl"
        },
        "lastName" : "member",
        "uid" : "007b994a6ab34165a93fd4c7a8db1388",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      } ]
    },
    "_links" : {
      "edit" : {
        "href" : "...",
        "title" : "Indication that this entity can be edited"
      },
      "delete" : {
        "href" : "...",
        "title" : "Indication that this entity can be deleted"
      },
      "members" : {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }
    }
  },
  "properties" : { },
  "allApplicationIds" : [ "nl.tenanta.app.revoke" ],
  "uid" : "39d82d7994484b53ae1de37ee8924512",
  "created_at" : "2020-11-01T23:16:23",
  "modified_at" : "2020-11-01T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "applicationId" : "nl.tenanta.app.revoke",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "createApplicationPrincipal" : {
      "href" : "..."
    },
    "createApplicationAccess" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Update an application Shortname

Changing the application shortname is not allowed when one of the below conditions is matched.

  • application has deployment configured (either started or stopped)

  • application has credential configured

  • application has principal configured

Curl request
$ curl 'http://api.example.com/applications/5ffc4240fcdf4a479a16f2b0b12ab909' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "shortName" : "updated_name"
}'
HTTP request
PATCH /applications/5ffc4240fcdf4a479a16f2b0b12ab909 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 34
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "shortName" : "updated_name"
}
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 482

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Application ShortName cannot be edited as there are existing Credentials, Deployments, or Principals for this application." ],
  "subErrors" : [ {
    "field" : "Application.shortName",
    "rejectedValue" : "updated_name",
    "recommendedValues" : null,
    "errors" : [ "Application ShortName cannot be edited as there are existing Credentials, Deployments, or Principals for this application." ]
  } ]
}

Update an application id

When updating the applicationId you should consider the following risks:

  • existing consumers will stop reading since the applicationId has changed

  • the new applicationID will make the new consumer read from the earliest offset available on the stream

Curl request
$ curl 'http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924502' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "applicationId" : "updated_applicationId"
}'
HTTP request
PATCH /applications/39d82d7f34484b53ae1dd47ee8924502 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 47
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "updated_applicationId"
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Wed, 10 Apr 2024 14:38:00 GMT
Content-Type: application/hal+json
Content-Length: 3716

{
  "name" : "tenantaApplication2",
  "shortName" : "tenanta_app2",
  "description" : "tenantaApplication2 description.",
  "applicationType" : "Custom",
  "type" : "Java",
  "applicationClass" : null,
  "visibility" : "public",
  "owners" : {
    "name" : "Application-tenAApplication1",
    "emailAddress" : null,
    "phoneNumber" : null,
    "properties" : { },
    "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : null,
    "created_by" : null,
    "modified_by" : null,
    "_embedded" : {
      "members" : [ {
        "firstName" : "envAuthor",
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "envAdmin",
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      }, {
        "firstName" : "appOwner",
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "lastName" : "TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "middleName" : null,
        "phoneNumber" : null,
        "_links" : {
          "tenant" : {
            "href" : "...",
            "title" : "A tenant"
          },
          "self" : {
            "href" : "...",
            "templated" : true,
            "title" : "URI pointing to current request"
          }
        }
      } ]
    },
    "_links" : {
      "edit" : {
        "href" : "...",
        "title" : "Indication that this entity can be edited"
      },
      "delete" : {
        "href" : "...",
        "title" : "Indication that this entity can be deleted"
      },
      "members" : [ {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      }, {
        "href" : "...",
        "templated" : true,
        "title" : "Users belonging to this group"
      } ]
    }
  },
  "properties" : { },
  "allApplicationIds" : [ "updated_applicationId" ],
  "uid" : "39d82d7f34484b53ae1dd47ee8924502",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2024-04-10T14:38:00.745813676",
  "created_by" : null,
  "modified_by" : "poweruser@tenanta.nl",
  "applicationId" : "updated_applicationId",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "createApplicationPrincipal" : {
      "href" : "..."
    },
    "createApplicationAccess" : {
      "href" : "..."
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Search endpoints

/applications/search/findByAttributes

A GET request is used to retrieve all applications based on paging parameters.

Query parameters
Parameter Description

sort

Property to sort on and the direction.

page

Navigate through different pages.

size

Property to define the page size.

HTTP request
GET /applications/search/findByAttributes?sort=name%2Casc&page=0&size=5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 18820

{
  "_embedded" : {
    "applications" : [ {
      "name" : "publicEnvRevoke",
      "shortName" : "tenanta_revoke_public",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "kad",
            "emailAddress" : {
              "email" : "kadmember@tenanta.nl"
            },
            "lastName" : "member",
            "uid" : "007b994a6ab34165a93fd4c7a8db1388",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app.revoke.public.env" ],
      "uid" : "68e4d4e2e3e54ddc836006655d42a995",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app.revoke.public.env",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination1",
      "shortName" : "tenanta_app_pagination1",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination10",
      "shortName" : "tenanta_app_pagination10",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "a2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination11",
      "shortName" : "tenanta_app_pagination11",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff6beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination2",
      "shortName" : "tenanta_app_pagination2",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 5,
    "totalElements" : 33,
    "totalPages" : 7,
    "number" : 0
  }
}
Filter by name

A GET request will retrieve an application by name. The parameter name is not case-sensitive.

This endpoint replaces the /applications/search/findByName.
Query parameters
Parameter Description

name

Application name to search for.

HTTP request
GET /applications/search/findByAttributes?name=tenantaApplication1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 28864

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaApplication1",
      "shortName" : "tenanta_app1",
      "description" : "tenantaApplication1 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication14",
      "shortName" : "tenanta_app14",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SOURCE",
      "applicationClass" : "io.axual.test.source.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app14" ],
      "uid" : "bb3234224b974292a607fe9dd80fe1ae",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app14",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication12",
      "shortName" : "tenanta_app12",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app12" ],
      "uid" : "dhi9f4200h1c4230deg74322e2931e49",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app12",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication15",
      "shortName" : "tenanta_app15",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SOURCE",
      "applicationClass" : "io.axual.test.source.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "ea0e7f147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenanta.nl"
            },
            "lastName" : "powerUser",
            "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envOwner",
            "emailAddress" : {
              "email" : "envowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "e2c4ef3de653462683a8a865879fd24d",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication13",
      "shortName" : "tenanta_app13",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app13" ],
      "uid" : "ebd8f4670h1c4866deg78722e2930e3f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app13",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication11",
      "shortName" : "tenanta_app11",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app11" ],
      "uid" : "ioi9f4670h1c4866deg78722e2921f5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app11",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication10",
      "shortName" : "tenanta_app10",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app10" ],
      "uid" : "lmk9f4670h1c4866deg78722e2931e5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app10",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 7,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by shortName

A GET request will retrieve an application by shortName. The parameter shortName is not case-sensitive.

This endpoint replaces the /applications/search/findByShortName.
Query parameters
Parameter Description

shortName

Application short name to search for.

HTTP request
GET /applications/search/findByAttributes?shortName=tenanta_app3 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 4450

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaApplication3",
      "shortName" : "tenanta_app3",
      "description" : "tenantaApplication3 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app3" ],
      "uid" : "39d82d7f34484b53ae1dd47ee8924512",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app3",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by applicationType

A GET request will retrieve an application by applicationType. The parameter applicationType is not case-sensitive.

This endpoint replaces the /applications/search/findByApplicationType.
Query parameters
Parameter Description

applicationType

Application type to search for.

HTTP request
GET /applications/search/findByAttributes?applicationType=CUSTOM HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 78227

{
  "_embedded" : {
    "applications" : [ {
      "name" : "testRevoke",
      "shortName" : "test_revoke",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "kad",
            "emailAddress" : {
              "email" : "kadmember@tenanta.nl"
            },
            "lastName" : "member",
            "uid" : "007b994a6ab34165a93fd4c7a8db1388",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app.revoke" ],
      "uid" : "39d82d7994484b53ae1de37ee8924512",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app.revoke",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication2",
      "shortName" : "tenanta_app2",
      "description" : "tenantaApplication2 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app2" ],
      "uid" : "39d82d7f34484b53ae1dd47ee8924502",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app2",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication3",
      "shortName" : "tenanta_app3",
      "description" : "tenantaApplication3 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app3" ],
      "uid" : "39d82d7f34484b53ae1dd47ee8924512",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app3",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication4",
      "shortName" : "tenanta_app4",
      "description" : "tenantaApplication4 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "ea0e7f147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenanta.nl"
            },
            "lastName" : "powerUser",
            "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envOwner",
            "emailAddress" : {
              "email" : "envowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "4180e2f2493944948e4df46ba36ba964",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaAutoApplication3",
      "shortName" : "tenanta_auto_app3",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.auto.app3" ],
      "uid" : "4cc380171afc4c898b6f6c02caccf451",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.auto.app3",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication1",
      "shortName" : "tenanta_app1",
      "description" : "tenantaApplication1 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "publicEnvRevoke",
      "shortName" : "tenanta_revoke_public",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "kad",
            "emailAddress" : {
              "email" : "kadmember@tenanta.nl"
            },
            "lastName" : "member",
            "uid" : "007b994a6ab34165a93fd4c7a8db1388",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app.revoke.public.env" ],
      "uid" : "68e4d4e2e3e54ddc836006655d42a995",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app.revoke.public.env",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination10",
      "shortName" : "tenanta_app_pagination10",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "a2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaAutoApplication4",
      "shortName" : "tenanta_auto_app4",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.auto.app4" ],
      "uid" : "aec9e4570f1c4866bef77722e2830d4b",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.auto.app4",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination1",
      "shortName" : "tenanta_app_pagination1",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination5",
      "shortName" : "tenanta_app_pagination5",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e92e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination3",
      "shortName" : "tenanta_app_pagination3",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination9",
      "shortName" : "tenanta_app_pagination9",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74cf1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination7",
      "shortName" : "tenanta_app_pagination7",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff1beb09510d0bf7377",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination6",
      "shortName" : "tenanta_app_pagination6",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff1beb09510d0bf7e17",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantbApplication2",
      "shortName" : "tenantb_app2",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination11",
      "shortName" : "tenanta_app_pagination11",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff6beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination4",
      "shortName" : "tenanta_app_pagination4",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831cc4ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination8",
      "shortName" : "tenanta_app_pagination8",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98ef831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination2",
      "shortName" : "tenanta_app_pagination2",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 23,
    "totalPages" : 2,
    "number" : 0
  }
}
Filter by visibility

A GET request will retrieve an application by visibility.

Query parameters
Parameter Description

visibility

Application visibility to search for.

HTTP request
GET /applications/search/findByAttributes?visibility=PRIVATE HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 18123

{
  "_embedded" : {
    "applications" : [ {
      "name" : "testRevoke",
      "shortName" : "test_revoke",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "kad",
            "emailAddress" : {
              "email" : "kadmember@tenanta.nl"
            },
            "lastName" : "member",
            "uid" : "007b994a6ab34165a93fd4c7a8db1388",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app.revoke" ],
      "uid" : "39d82d7994484b53ae1de37ee8924512",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app.revoke",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication3",
      "shortName" : "tenanta_app3",
      "description" : "tenantaApplication3 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app3" ],
      "uid" : "39d82d7f34484b53ae1dd47ee8924512",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app3",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "publicEnvRevoke",
      "shortName" : "tenanta_revoke_public",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team Kad",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841869644c2ad8b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "kad",
            "emailAddress" : {
              "email" : "kadmember@tenanta.nl"
            },
            "lastName" : "member",
            "uid" : "007b994a6ab34165a93fd4c7a8db1388",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app.revoke.public.env" ],
      "uid" : "68e4d4e2e3e54ddc836006655d42a995",
      "created_at" : "2020-11-01T23:16:23",
      "modified_at" : "2020-11-01T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app.revoke.public.env",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaPrivApp3",
      "shortName" : "tenanta_priv_app3_2",
      "description" : "tenantaPrivApp3 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "f692ca5191764258b7257a6b2a7fb188",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication10",
      "shortName" : "tenanta_app10",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app10" ],
      "uid" : "lmk9f4670h1c4866deg78722e2931e5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app10",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 5,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by applicationId

A GET request will retrieve an application by applicationId. The parameter applicationId is case-sensitive.

This endpoint replaces /applications/search/findByApplicationId.
Query parameters
Parameter Description

applicationId

Application Id to search for.

HTTP request
GET /applications/search/findByAttributes?applicationId=nl.tenanta.app1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 4492

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaApplication1",
      "shortName" : "tenanta_app1",
      "description" : "tenantaApplication1 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by groupName

A GET request will retrieve an application by groupName. The parameter groupName is not case-sensitive.

Query parameters
Parameter Description

groupName

Application owner name to search for.

HTTP request
GET /applications/search/findByAttributes?groupName=Team+App+Admins HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 19400

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaAutoApplication3",
      "shortName" : "tenanta_auto_app3",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.auto.app3" ],
      "uid" : "4cc380171afc4c898b6f6c02caccf451",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.auto.app3",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaAutoApplication4",
      "shortName" : "tenanta_auto_app4",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.auto.app4" ],
      "uid" : "aec9e4570f1c4866bef77722e2830d4b",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.auto.app4",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaPrivApp3",
      "shortName" : "tenanta_priv_app3_2",
      "description" : "tenantaPrivApp3 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "f692ca5191764258b7257a6b2a7fb188",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication5",
      "shortName" : "tenanta_app5",
      "description" : "",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Team App Admins",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4oit834841869644c2ad8b439997",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "appAuthor",
            "emailAddress" : {
              "email" : "appauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenantactive.nl"
            },
            "lastName" : "TenantActive",
            "uid" : "s39sef147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appAdmin",
            "emailAddress" : {
              "email" : "appadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "caa51002633244ffbe36f4ccf8a8f501",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenantactive.nl"
            },
            "lastName" : "powerUser",
            "uid" : "avcdfr5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app5" ],
      "uid" : "fdc9e4570f1c4866bef77722e2830d5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app5",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 4,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by applicationClass

A GET request will retrieve an application by applicationClass. The parameter applicationClass is not case-sensitive.

Query parameters
Parameter Description

applicationClass

Application Class to search for.

HTTP request
GET /applications/search/findByAttributes?applicationClass=io.axual.test.sink.plugin HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 32972

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaApplication6",
      "shortName" : "tenanta_app6",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app6" ],
      "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app6",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication12",
      "shortName" : "tenanta_app12",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app12" ],
      "uid" : "dhi9f4200h1c4230deg74322e2931e49",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app12",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication7",
      "shortName" : "tenanta_app7",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app7" ],
      "uid" : "ead8f4670h1c4866deg78722e2930e3f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app7",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication13",
      "shortName" : "tenanta_app13",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app13" ],
      "uid" : "ebd8f4670h1c4866deg78722e2930e3f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app13",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication8",
      "shortName" : "tenanta_app8",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app8" ],
      "uid" : "fbe9f4670h1c4866deg78722e2931e4g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app8",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication9",
      "shortName" : "tenanta_app9",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app9" ],
      "uid" : "ghi9f4670h1c4866deg78722e2931e4g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app9",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication11",
      "shortName" : "tenanta_app11",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app11" ],
      "uid" : "ioi9f4670h1c4866deg78722e2921f5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app11",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication10",
      "shortName" : "tenanta_app10",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app10" ],
      "uid" : "lmk9f4670h1c4866deg78722e2931e5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app10",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 8,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by myApplications

A GET request will retrieve an application owned by the user if the parameter myApplications is set to true.

Query parameters
Parameter Description

myApplications

My Applications to search for owned applications.

HTTP request
GET /applications/search/findByAttributes?myApplications=true HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 8455

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaApplication4",
      "shortName" : "tenanta_app4",
      "description" : "tenantaApplication4 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "ea0e7f147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenanta.nl"
            },
            "lastName" : "powerUser",
            "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envOwner",
            "emailAddress" : {
              "email" : "envowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "4180e2f2493944948e4df46ba36ba964",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication15",
      "shortName" : "tenanta_app15",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SOURCE",
      "applicationClass" : "io.axual.test.source.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "tenAdmin",
            "emailAddress" : {
              "email" : "tenadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "ea0e7f147df84179a151bdc21f5bb813",
            "middleName" : "middleName",
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "powerUser",
            "emailAddress" : {
              "email" : "poweruser@tenanta.nl"
            },
            "lastName" : "powerUser",
            "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envOwner",
            "emailAddress" : {
              "email" : "envowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "e2c4ef3de653462683a8a865879fd24d",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by multiple attributes

A GET request can be used to search an application based on multiple params. name, shortName, applicationType, applicationClass, applicationId and visibility are optional parameters.

Query parameters
Parameter Description

name

Application name to search for.

applicationId

Application id list to search for.

shortName

Application short name to search for.

groupName

Application owner name to search for.

applicationType

Application type to search for.

applicationClass

Application Class to search for.

visibility

Application visibility to search for.

HTTP request
GET /applications/search/findByAttributes?name=tenantaApplication14&applicationId=nl.tenanta.app14&shortName=tenanta_app14&groupName=Application-tenAApplication1&applicationType=CONNECTOR&applicationClass=io.axual.test.source.plugin&visibility=PUBLIC HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 4529

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenantaApplication14",
      "shortName" : "tenanta_app14",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SOURCE",
      "applicationClass" : "io.axual.test.source.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app14" ],
      "uid" : "bb3234224b974292a607fe9dd80fe1ae",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app14",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

/applications/search/findByNameContaining

Search for an application by name containing search term and order by a nested property.

Query parameters
Parameter Description

name

Term to search within application name.

sort

Property to sort on and the direction.

HTTP request
GET /applications/search/findByNameContaining?name=app&sort=owners.name%2Casc HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 80367

{
  "_embedded" : {
    "applications" : [ {
      "name" : "tenanta_app_pagination1",
      "shortName" : "tenanta_app_pagination1",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination10",
      "shortName" : "tenanta_app_pagination10",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "a2e98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination11",
      "shortName" : "tenanta_app_pagination11",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff6beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination2",
      "shortName" : "tenanta_app_pagination2",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination3",
      "shortName" : "tenanta_app_pagination3",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination4",
      "shortName" : "tenanta_app_pagination4",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831cc4ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination5",
      "shortName" : "tenanta_app_pagination5",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e92e1831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination6",
      "shortName" : "tenanta_app_pagination6",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff1beb09510d0bf7e17",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination7",
      "shortName" : "tenanta_app_pagination7",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74ff1beb09510d0bf7377",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination8",
      "shortName" : "tenanta_app_pagination8",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98ef831c74ff1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenanta_app_pagination9",
      "shortName" : "tenanta_app_pagination9",
      "description" : null,
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ ],
      "uid" : "d2e98e1831c74cf1beb09510d0bf7e77",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication1",
      "shortName" : "tenanta_app1",
      "description" : "tenantaApplication1 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication10",
      "shortName" : "tenanta_app10",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app10" ],
      "uid" : "lmk9f4670h1c4866deg78722e2931e5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app10",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication11",
      "shortName" : "tenanta_app11",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app11" ],
      "uid" : "ioi9f4670h1c4866deg78722e2921f5g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app11",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication12",
      "shortName" : "tenanta_app12",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app12" ],
      "uid" : "dhi9f4200h1c4230deg74322e2931e49",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app12",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication13",
      "shortName" : "tenanta_app13",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app13" ],
      "uid" : "ebd8f4670h1c4866deg78722e2930e3f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app13",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication14",
      "shortName" : "tenanta_app14",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SOURCE",
      "applicationClass" : "io.axual.test.source.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app14" ],
      "uid" : "bb3234224b974292a607fe9dd80fe1ae",
      "created_at" : "2021-02-02T13:16:23",
      "modified_at" : "2021-02-02T13:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app14",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication2",
      "shortName" : "tenanta_app2",
      "description" : "tenantaApplication2 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app2" ],
      "uid" : "39d82d7f34484b53ae1dd47ee8924502",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app2",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication3",
      "shortName" : "tenanta_app3",
      "description" : "tenantaApplication3 description.",
      "applicationType" : "Custom",
      "type" : "Java",
      "applicationClass" : null,
      "visibility" : "private",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app3" ],
      "uid" : "39d82d7f34484b53ae1dd47ee8924512",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app3",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    }, {
      "name" : "tenantaApplication6",
      "shortName" : "tenanta_app6",
      "description" : "",
      "applicationType" : "Connector",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "visibility" : "public",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null,
        "_embedded" : {
          "members" : [ {
            "firstName" : "envAuthor",
            "emailAddress" : {
              "email" : "envauthor@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "envAdmin",
            "emailAddress" : {
              "email" : "envadmin@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "7cb463240b8049578b298c214c28512a",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          }, {
            "firstName" : "appOwner",
            "emailAddress" : {
              "email" : "appowner@tenanta.nl"
            },
            "lastName" : "TenantA",
            "uid" : "51234a7a81994d1ca35ca7894cde08c6",
            "middleName" : null,
            "phoneNumber" : null,
            "_links" : {
              "tenant" : {
                "href" : "...",
                "title" : "A tenant"
              },
              "self" : {
                "href" : "...",
                "templated" : true,
                "title" : "URI pointing to current request"
              }
            }
          } ]
        },
        "_links" : {
          "edit" : {
            "href" : "...",
            "title" : "Indication that this entity can be edited"
          },
          "delete" : {
            "href" : "...",
            "title" : "Indication that this entity can be deleted"
          },
          "members" : [ {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          }, {
            "href" : "...",
            "templated" : true,
            "title" : "Users belonging to this group"
          } ]
        }
      },
      "properties" : { },
      "allApplicationIds" : [ "nl.tenanta.app6" ],
      "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "applicationId" : "nl.tenanta.app6",
      "_links" : {
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "createApplicationPrincipal" : {
          "href" : "..."
        },
        "createApplicationAccess" : {
          "href" : "..."
        },
        "createApplicationDeployment" : {
          "href" : "..."
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 31,
    "totalPages" : 2,
    "number" : 0
  }
}

Get Connectivity Information

A GET request is employed to retrieve Kafka and SchemaRegistry information associated with the requested environment, streamlining the configuration process for applications.

Curl request

$ curl 'http://api.example.com/applications/5ffc4240fcdf4a479a16f2b0b12ab909/connectivityInfo?environmentId=e11ee2dd976647109ca904dd8adc050f' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /applications/5ffc4240fcdf4a479a16f2b0b12ab909/connectivityInfo?environmentId=e11ee2dd976647109ca904dd8adc050f HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 992

{
  "clusters" : [ {
    "clusterName" : "Zone2 Cluster OTA",
    "kafkaVersion" : "3.4.0",
    "kafkaListeners" : { },
    "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
    "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
    "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
    "schemaRegistryVersion" : "2.8.0",
    "schemaRegistryListeners" : {
      "TLS" : "sr-url:24000"
    }
  }, {
    "clusterName" : "Zone1 Cluster OTA",
    "kafkaVersion" : "3.5.1",
    "kafkaListeners" : {
      "MUTUAL_TLS" : "broker:9090"
    },
    "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
    "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
    "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
    "schemaRegistryVersion" : "2.8.0",
    "schemaRegistryListeners" : {
      "NO_AUTH" : "sr-url:25000",
      "TLS" : "sr-url:24000"
    }
  } ],
  "topics" : [ "tenanta-stream1" ]
}

Delete endpoints

Deleting application is a two-step process a GET request to check the constraints followed by the DELETE request

Delete application constraints

A GET request is used to get the constraints for deleting Application.

Curl request
$ curl 'http://api.example.com/applications/5ffc4240fcdf4a479a16f2b0b12ab909/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP request
GET /applications/5ffc4240fcdf4a479a16f2b0b12ab909/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 84

{
  "canDelete" : false,
  "activeGrantsCount" : 3,
  "activeDeploymentsCount" : 0
}

Delete application

A DELETE request is used to delete an Application.

It is important to know that executing this operation will result in the deletion of not only the application itself but also its associated entities, including application principals, credentials, deployments, accesses and access grants.

Curl request
$ curl 'http://api.example.com/applications/fdc9e4570f1c4866bef77722e2830d5g' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
HTTP request
DELETE /applications/fdc9e4570f1c4866bef77722e2830d5g HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

External Provider Specific

Create Authentication on any Providers

Create User on Aiven

A POST request will create a user on Aiven provider.

Request fields
Path Type Description Constraints

applicationId

String

The applicationId of the Application.

Must not be null

environmentId

String

The environmentId of the Environment.

Must not be null

HTTP request
POST /application_authentications HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 114
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "8180e2f2493944948e4df46ba36ba953",
  "environmentId" : "84d93e918d49430fbf1d8cc7494d24d4"
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 7378

[ {
  "authData" : {
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----",
    "password" : "PasswordForAiven",
    "provider" : "aiven",
    "certificate" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
    "username" : "UserNameForAiven"
  }
} ]
Create Credential on Confluent Cloud

A POST request will create a credential on Confluent Cloud provider.

Request fields
Path Type Description Constraints

applicationId

String

The applicationId of the Application.

Must not be null

environmentId

String

The environmentId of the Environment.

Must not be null

HTTP request
POST /application_authentications HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 114
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "8180e2f2493944948e4df46ba36ba953",
  "environmentId" : "12w33e918d49430fbf1d8cc7494d22e3"
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 338

[ {
  "authData" : {
    "APPLICATION_CREDENTIAL_ID" : "6be378c2e1c1460b8141b0f368592ca9",
    "resourceId" : "resourceId",
    "SCHEMA_REGISTRY_API_KEY" : "schema-registry-api-key",
    "SCHEMA_REGISTRY_API_SECRET" : "schema-registry-secret",
    "CLUSTER_API_KEY" : "cluster-api-key",
    "CLUSTER_API_SECRET" : "cluster-secret"
  }
} ]
Create Credential on Apache Kafka

A POST request will create a credential on Apache Kafka provider.

Request fields
Path Type Description Constraints

applicationId

String

The applicationId of the Application.

Must not be null

environmentId

String

The environmentId of the Environment.

Must not be null

HTTP request
POST /application_authentications HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 114
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "8180e2f2493944948e4df46ba36ba953",
  "environmentId" : "23d34r918d49430fbf1d8cc7494d22e3"
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 146

[ {
  "authData" : {
    "password" : "PasswordForApacheKafka",
    "provider" : "apache-kafka",
    "username" : "UserNameForApacheKafka"
  }
} ]

Delete User on any Providers

Aiven Provider

A DELETE request will delete a user on Aiven provider.

Request fields
Path Type Description Constraints

applicationId

String

The applicationId of the Application.

Must not be null

environmentId

String

The environmentId of the Environment.

Must not be null

configs

Object

Optional parameters that are provider specific. username is must for aiven provider.

HTTP request
DELETE /application_authentications HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 207
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "8180e2f2493944948e4df46ba36ba953",
  "environmentId" : "84d93e918d49430fbf1d8cc7494d24d4",
  "applicationCredentialId" : null,
  "configs" : {
    "username" : "tenantbyok-app-1"
  }
}
HTTP response
HTTP/1.1 204 No Content
Confluent Cloud provider

A DELETE request will delete a user on ConfluentCloud provider.

Request fields
Path Type Description Constraints

applicationId

String

The applicationId of the Application.

Must not be null

environmentId

String

The environmentId of the Application.

Must not be null

configs

Object

Optional parameters that are provider specific. clusterApiKey is must and srApiKey is optional for confluent-cloud provider.

HTTP request
DELETE /application_authentications HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 249
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "1a38e26ef9e140439ea41235127e6fd5",
  "environmentId" : "48c53e918d49430fbf1d8cc7494d24d4",
  "applicationCredentialId" : null,
  "configs" : {
    "srApiKey" : "QXVKSM5M773JD7MV",
    "clusterApiKey" : "65PHUTPE4B6PXHIN"
  }
}
HTTP response
HTTP/1.1 204 No Content
Apache Kafka provider

A DELETE request will delete a credential on Apache Kafka provider.

Request fields
Path Type Description Constraints

applicationId

String

The applicationId of the Application.

Must not be null

environmentId

String

The environmentId of the Environment.

Must not be null

configs

Object

Optional parameters that are provider specific. username is must for Apache Kafka provider.

HTTP request
DELETE /application_authentications HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 207
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "8180e2f2493944948e4df46ba36ba953",
  "environmentId" : "84d93e918d49430fbf1d8cc7494d24d4",
  "applicationCredentialId" : null,
  "configs" : {
    "username" : "tenantbyok-app-1"
  }
}
HTTP response
HTTP/1.1 204 No Content

Export Applications in CSV

A GET request is used to export a CSV containing information about the Applications.

$ curl 'http://api.example.com/export/applications' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /export/applications HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Disposition: attachment; filename="applications.csv"
Content-Length: 6496

"NAME","SHORT_NAME","APPLICATION_CLASS","DESCRIPTION","APPLICATION_ID","APPLICATION_IDS","VISIBILITY","APPLICATION_TYPE","TYPE","CREATED_BY","MODIFIED_BY","OWNERS_GROUP_NAME","CREATED_AT","MODIFIED_AT"
"testRevoke","test_revoke","","","nl.tenanta.app.revoke","nl.tenanta.app.revoke","PRIVATE","CUSTOM","Java","","","Team Kad","2020-11-01T23:16:23","2020-11-01T23:16:23"
"tenantaApplication2","tenanta_app2","","tenantaApplication2 description.","nl.tenanta.app2","nl.tenanta.app2","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication3","tenanta_app3","","tenantaApplication3 description.","nl.tenanta.app3","nl.tenanta.app3","PRIVATE","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication4","tenanta_app4","","tenantaApplication4 description.","","","PUBLIC","CUSTOM","Java","","","Environment-tenAenv1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaAutoApplication3","tenanta_auto_app3","","","nl.tenanta.auto.app3","nl.tenanta.auto.app3","PUBLIC","CUSTOM","Java","","","Team App Admins","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication1","tenanta_app1","","tenantaApplication1 description.","nl.tenanta.app1,nl.tenanta.new.app1","nl.tenanta.new.app1","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"publicEnvRevoke","tenanta_revoke_public","","","nl.tenanta.app.revoke.public.env","nl.tenanta.app.revoke.public.env","PRIVATE","CUSTOM","Java","","","Team Kad","2020-11-01T23:16:23","2020-11-01T23:16:23"
"tenanta_app_pagination10","tenanta_app_pagination10","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaAutoApplication4","tenanta_auto_app4","","","nl.tenanta.auto.app4","nl.tenanta.auto.app4","PUBLIC","CUSTOM","Java","","","Team App Admins","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication14","tenanta_app14","io.axual.test.source.plugin","","nl.tenanta.app14","nl.tenanta.app14","PUBLIC","CONNECTOR","SOURCE","","","Application-tenAApplication1","2021-02-02T13:16:23","2021-02-02T13:16:23"
"tenanta_app_pagination1","tenanta_app_pagination1","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination5","tenanta_app_pagination5","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination3","tenanta_app_pagination3","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination9","tenanta_app_pagination9","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination7","tenanta_app_pagination7","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination6","tenanta_app_pagination6","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantbApplication2","tenantb_app2","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination11","tenanta_app_pagination11","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination4","tenanta_app_pagination4","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination8","tenanta_app_pagination8","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenanta_app_pagination2","tenanta_app_pagination2","","","","","PUBLIC","CUSTOM","Java","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication6","tenanta_app6","io.axual.test.sink.plugin","","nl.tenanta.app6","nl.tenanta.app6","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication12","tenanta_app12","io.axual.test.sink.plugin","","nl.tenanta.app12","nl.tenanta.app12","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2021-02-02T13:16:23","2021-02-02T13:16:23"
"tenantaApplication15","tenanta_app15","io.axual.test.source.plugin","","","","PUBLIC","CONNECTOR","SOURCE","","","Environment-tenAenv1","2021-02-02T13:16:23","2021-02-02T13:16:23"
"tenantaApplication7","tenanta_app7","io.axual.test.sink.plugin","","nl.tenanta.app7","nl.tenanta.app7","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication13","tenanta_app13","io.axual.test.sink.plugin","","nl.tenanta.app13","nl.tenanta.app13","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaAutoApplication5","tenanta_auto_app_5","","","nl.tenanta.auto.app5","nl.tenanta.auto.app5","PUBLIC","CUSTOM","Java","","","Operators","2021-06-07T23:16:23","2021-06-07T23:16:23"
"tenantaPrivApp3","tenanta_priv_app3_2","","tenantaPrivApp3 description.","","","PRIVATE","CUSTOM","Java","","","Team App Admins","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication8","tenanta_app8","io.axual.test.sink.plugin","","nl.tenanta.app8","nl.tenanta.app8","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication5","tenanta_app5","","","nl.tenanta.app5","nl.tenanta.app5","PUBLIC","CUSTOM","Java","","","Team App Admins","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication9","tenanta_app9","io.axual.test.sink.plugin","","nl.tenanta.app9","nl.tenanta.app9","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication11","tenanta_app11","io.axual.test.sink.plugin","","nl.tenanta.app11","nl.tenanta.app11","PUBLIC","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"
"tenantaApplication10","tenanta_app10","io.axual.test.sink.plugin","","nl.tenanta.app10","nl.tenanta.app10","PRIVATE","CONNECTOR","SINK","","","Application-tenAApplication1","2018-06-07T23:16:23","2018-06-07T23:16:23"

ApplicationCredentials

An ApplicationCredential is an additional authentication mechanism to the platform which authenticates an Application on an Environment.

The /application_credentials resource is used to create and list application credentials.

ApplicationCredentials Schema

The /application_credentials resource uses the following json-schema:

HTTP request

GET /profile/application_credentials HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 1930

{
  "title" : "Application credential",
  "properties" : {
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "metadata" : {
      "title" : "Metadata",
      "readOnly" : false,
      "type" : "object"
    },
    "environment" : {
      "title" : "Environment",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "types" : {
      "title" : "Types",
      "readOnly" : false,
      "type" : "array",
      "uniqueItems" : true,
      "items" : {
        "$ref" : "#/definitions/applicationCredentialTypes"
      }
    },
    "application" : {
      "title" : "Application",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "tenant" : {
      "title" : "Tenant",
      "readOnly" : true,
      "type" : "object"
    },
    "username" : {
      "title" : "Username",
      "readOnly" : false,
      "type" : "string"
    }
  },
  "definitions" : {
    "applicationCredentialTypes" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "title" : "Type",
          "readOnly" : false,
          "type" : "string",
          "enum" : [ "SCRAM_SHA_256", "SCRAM_SHA_512", "PLAIN" ]
        }
      }
    }
  },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all application credentials

HTTP method GET is disabled for /application_credentials. Refer to search endpoints to find one or more ApplicationCredential for an Application or an Environment.

Create Application Credential

A POST request is used to create a new ApplicationCredential. The request should include reference to a valid existing application and environment.

Request fields

Path Type Description Constraints

application

String

A valid URI of an existing application

Must not be null

environment

String

A valid URI of an existing environment

Must not be null

types

Array

A valid type of application credentials. Possible types are SCRAM_SHA_256, SCRAM_SHA_512, PLAIN

Must not be empty. Must not be null

description

String

A valid description about the application credentials

Size must be between 0 and 200 inclusive

Curl request

$ curl 'http://api.example.com/application_credentials' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "types" : [ "SCRAM_SHA_256" ],
  "description" : "test"
}'

HTTP request

POST /application_credentials HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 241
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "types" : [ "SCRAM_SHA_256" ],
  "description" : "test"
}

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 162

{
  "uid" : "08a8fcd405734cbca9609666fc7fe0ec",
  "username" : "tenanta_app3tenantaenv11460151963",
  "password" : "O7VsFh4y41",
  "types" : [ "SCRAM_SHA_256" ]
}

Retrieve application credential endpoints

The application_credentials/{id} resource is used to retrieve a single credential of an application for an environment.

A GET request will retrieve the details of a ApplicationCredential.

Curl request

$ curl 'http://api.example.com/application_credentials/1e9ee6ce053c46b0932358c7403a56fd' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /application_credentials/1e9ee6ce053c46b0932358c7403a56fd HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 16595

{
  "id" : "1e9ee6ce053c46b0932358c7403a56fd",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv1 - 1336640963",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  }, {
    "type" : "SCRAM_SHA_512"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2021-09-05T13:16:00",
  "modified_at" : "2021-09-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
}

The application_credentials/ resource is used to retrieve a all Application credentials for given Application and Environment.

Parameter Description

applicationId

A valid Application Id

environmentId

A valid Environment Id

type

A valid type of application credentials. Possible types are SCRAM_SHA_256, SCRAM_SHA_512, PLAIN. Type is an optional parameter

GET /application_credentials/search/findByApplicationIdAndEnvironmentId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909&environmentId=047ab08009fe4da8be6905b55552ab52&type=SCRAM_SHA_256 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 33160

[ {
  "id" : "1e9ee6ce053c46b0932358c7403a56fd",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv1 - 1336640963",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  }, {
    "type" : "SCRAM_SHA_512"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2021-09-05T13:16:00",
  "modified_at" : "2021-09-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
}, {
  "id" : "2f8ff6de053c46b0932358c7403a57ge",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv2 - 1336640583",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "2f8ff6de053c46b0932358c7403a57ge",
  "created_at" : "2021-08-05T13:16:00",
  "modified_at" : "2021-08-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
} ]

ApplicationCredentials search endpoints

/application_credentials/search/findByApplicationId

Returns all application credentials for given Application and SASL mechanism/type.

Query parameters
Parameter Description

applicationId

A valid Application Id

type

A valid type of application credentials. Possible types are SCRAM_SHA_256, SCRAM_SHA_512, PLAIN. Type is an optional parameter

Curl request
$ curl 'http://api.example.com/application_credentials/search/findByApplicationId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909&type=SCRAM_SHA_256' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'
HTTP request
GET /application_credentials/search/findByApplicationId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909&type=SCRAM_SHA_256 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 33160

[ {
  "id" : "1e9ee6ce053c46b0932358c7403a56fd",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv1 - 1336640963",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  }, {
    "type" : "SCRAM_SHA_512"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2021-09-05T13:16:00",
  "modified_at" : "2021-09-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
}, {
  "id" : "2f8ff6de053c46b0932358c7403a57ge",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv2 - 1336640583",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "2f8ff6de053c46b0932358c7403a57ge",
  "created_at" : "2021-08-05T13:16:00",
  "modified_at" : "2021-08-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
} ]

SASL mechanism/type is an optional field.

Curl request
$ curl 'http://api.example.com/application_credentials/search/findByApplicationId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 33160

[ {
  "id" : "1e9ee6ce053c46b0932358c7403a56fd",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv1 - 1336640963",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  }, {
    "type" : "SCRAM_SHA_512"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2021-09-05T13:16:00",
  "modified_at" : "2021-09-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
}, {
  "id" : "2f8ff6de053c46b0932358c7403a57ge",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv2 - 1336640583",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "2f8ff6de053c46b0932358c7403a57ge",
  "created_at" : "2021-08-05T13:16:00",
  "modified_at" : "2021-08-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
} ]

/application_credentials/search/findByApplicationIdAndEnvironmentId

Returns all application credentials for given Application, Environment and SASL mechanism/type.

Query parameters
Parameter Description

applicationId

A valid Application Id

environmentId

A valid Environment Id

type

A valid type of application credentials. Possible types are SCRAM_SHA_256, SCRAM_SHA_512, PLAIN. Type is an optional parameter

Curl request
$ curl 'http://api.example.com/application_credentials/search/findByApplicationIdAndEnvironmentId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909&environmentId=047ab08009fe4da8be6905b55552ab52&type=SCRAM_SHA_256' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'
HTTP request
GET /application_credentials/search/findByApplicationIdAndEnvironmentId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909&environmentId=047ab08009fe4da8be6905b55552ab52&type=SCRAM_SHA_256 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 33160

[ {
  "id" : "1e9ee6ce053c46b0932358c7403a56fd",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv1 - 1336640963",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  }, {
    "type" : "SCRAM_SHA_512"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2021-09-05T13:16:00",
  "modified_at" : "2021-09-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
}, {
  "id" : "2f8ff6de053c46b0932358c7403a57ge",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv2 - 1336640583",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "2f8ff6de053c46b0932358c7403a57ge",
  "created_at" : "2021-08-05T13:16:00",
  "modified_at" : "2021-08-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
} ]

SASL mechanism/type is an optional field

Curl request
$ curl 'http://api.example.com/application_credentials/search/findByApplicationIdAndEnvironmentId?applicationId=5ffc4240fcdf4a479a16f2b0b12ab909&environmentId=047ab08009fe4da8be6905b55552ab52' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 33160

[ {
  "id" : "1e9ee6ce053c46b0932358c7403a56fd",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv1 - 1336640963",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  }, {
    "type" : "SCRAM_SHA_512"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2021-09-05T13:16:00",
  "modified_at" : "2021-09-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
}, {
  "id" : "2f8ff6de053c46b0932358c7403a57ge",
  "optLock" : 0,
  "metadata" : { },
  "application" : {
    "id" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "optLock" : 0,
    "name" : "tenantaApplication1",
    "shortName" : "tenanta_app1",
    "description" : "tenantaApplication1 description.",
    "applicationType" : "Custom",
    "type" : "Java",
    "applicationClass" : null,
    "visibility" : "public",
    "owners" : {
      "id" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "optLock" : 0,
      "name" : "Application-tenAApplication1",
      "members" : [ {
        "id" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "optLock" : 0,
        "firstName" : "envAuthor",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envauthor@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_AUTHOR"
        } ],
        "fullName" : "envAuthor TenantA",
        "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "7cb463240b8049578b298c214c28512a",
        "optLock" : 0,
        "firstName" : "envAdmin",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "envAdmin TenantA",
        "uid" : "7cb463240b8049578b298c214c28512a",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "51234a7a81994d1ca35ca7894cde08c6",
        "optLock" : 0,
        "firstName" : "appOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "appowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "appOwner TenantA",
        "uid" : "51234a7a81994d1ca35ca7894cde08c6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "properties" : { },
    "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
    "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null,
    "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
  },
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "autoApproved" : false,
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "username" : "tenanta_app1tenantaenv2 - 1336640583",
  "types" : [ {
    "type" : "SCRAM_SHA_256"
  } ],
  "description" : "test_application_credential",
  "tenant" : {
    "id" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "optLock" : 0,
    "properties" : {
      "replication.factor" : "1",
      "cleanup.policy" : "delete",
      "min.insync.replicas" : "1"
    },
    "name" : "TenantA",
    "shortName" : "tenanta",
    "uniqueConsumerGroup" : true,
    "logo" : "tenanta.png",
    "issuerUrl" : "http://api.example.com/auth/realms/tenanta",
    "dataClassificationEnabled" : false,
    "contact" : null,
    "supportedAuthenticationMethods" : [ {
      "rank" : 1,
      "protocol" : "SASL",
      "mechanism" : "SCRAM_SHA_256"
    }, {
      "rank" : 0,
      "protocol" : "SSL",
      "mechanism" : "MUTUAL_TLS"
    }, {
      "rank" : 2,
      "protocol" : "SASL",
      "mechanism" : "OAUTH_BEARER"
    } ],
    "wizardCompleted" : true,
    "customerId" : null,
    "uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "uid" : "2f8ff6de053c46b0932358c7403a57ge",
  "created_at" : "2021-08-05T13:16:00",
  "modified_at" : "2021-08-06T13:16:00",
  "created_by" : null,
  "modified_by" : null
} ]

Delete application credential

A DELETE request is used to delete an ApplicationCredential.

Curl request

$ curl 'http://api.example.com/application_credentials/07c3a0060ef111ec82a80242ac130003' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'

HTTP request

DELETE /application_credentials/07c3a0060ef111ec82a80242ac130003 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

ApplicationPrincipals

An ApplicationPrincipal is a security principal (certificate or comparable) that uniquely authenticates an Application on an Environment.

The /application_principals resource is used to create and list application principals.

ApplicationPrincipals Schema

The /application_principals resource uses the following json-schema:

GET /profile/application_principals HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 1736

{
  "title" : "Application principal",
  "properties" : {
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "privateKeyUploaded" : {
      "title" : "Private key uploaded",
      "readOnly" : true,
      "type" : "boolean"
    },
    "applicationPem" : {
      "title" : "Application pem",
      "readOnly" : false,
      "type" : "string"
    },
    "principal" : {
      "title" : "Principal",
      "readOnly" : false,
      "type" : "string"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "environment" : {
      "title" : "Environment",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "principalChain" : {
      "title" : "Principal chain",
      "readOnly" : false,
      "type" : "string"
    },
    "application" : {
      "title" : "Application",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "privateKeyPem" : {
      "title" : "Private key pem",
      "readOnly" : true,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "expiresOn" : {
      "title" : "Expires on",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all application principals

HTTP method GET is disabled for /application_principals. Refer to search endpoints to find one or more ApplicationPrincipal for an Application or an Environment.

Create Application Principal

A POST request is used to create a new ApplicationPrincipal. The request should include reference to a valid existing application and environment.

Request fields

Path Type Description Constraints

[].principal

String

The principal of an Application for an Environment

[].application

String

A valid URI of an existing application

[].environment

String

A valid URI of an existing environment

Curl request

$ curl 'http://api.example.com/application_principals' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
} ]'

HTTP request

POST /application_principals HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 5680
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
} ]

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 80

"http://api.example.com/application_principals/c8aeebd070c142c4b8f52d6020fc4566"

Create Application Principal with Private key

A POST request is used to create a new ApplicationPrincipal with a private key. This is used for connector type of applications. The request should include reference to a valid existing application and environment.

Request fields

Path Type Description Constraints

[].principal

String

The principal of an Application for an Environment

[].privateKey

String

The private key of an Application for an Environment

[].application

String

A valid URI of an existing application

[].environment

String

A valid URI of an existing environment

Curl request

$ curl 'http://api.example.com/application_principals' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/dbc9e4670h1c4866deg78722e2930d2g",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----"
} ]'

HTTP request

POST /application_principals HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 7431
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/dbc9e4670h1c4866deg78722e2930d2g",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjwMgtTosVcSk3\nYNwPt/2FoAyr112UNgOiYMzs8CTtTBgZS7JylfXXP2xJ1s7lrRY1z+o3ZmL+0+ft\nxitih3qewsb418FIxg1qS9ztq3xibabYjeTmSVAzdgdJNR/5r07cZ/PpDZdnoa8c\nh/reiYQfxwEP1+T0EuYMqBAfBw1/2a9Zrix7042xjWUaz9H6ruGYYtltvKvaVZKt\nenQYop+jG1L+a/RnSVy6/GAakHcccxjql6AG6E45XAK/UdRRMA5GhibA64UPR87q\n8CbAZS7I/AJInFwNcYljCekr3nfIlgzVQAX8Ep7l8UxncJ7vlHTp95BpliKWntdA\n3hhgElZnAgMBAAECggEAT/x+ywKulU6tH0vEsjjhMUA4cEfGgfrQU6SM9L9oijC9\nJL4A8E+nwfhM4NR4Q2AElUx1z5HHkUnY5CAEWSBsGNhzcGGTHAUB0IY16DH3k+yT\nrvvAb2woLLreXDgC4mdrUeXFEnV9GzWy33DcbY8mZo9CSYbfYwlILa56EW3UfjoB\nYR4G4sNYEuz/BlIS3UaMzAM/a8S/TTQmv1rqck0UAXhCpVK3RBD5nwkGJQEdF159\n3Fe0Cpzoj0S11oak97OvGEhzcrn0Cib5A8IQt763LL0cIXdBF5U/2FOrYz6Dobao\nYTO93TLirNFuefFe/xl2sBDUIAMqVIZWviKl0AYDIQKBgQDkZcsB3BacZNHeTkNF\na8txFIAOJfXf/jsriVMx3s7rmrSsC1J7MJwdAau3EU4UpwBXvmRh7PRHNi4M+d+B\nVCltVlbMytcP9EQbG4wznvo118vXUduYR2dHnx99eLxEP1r6FPd7Ng94vXOHgJGf\nyzR8AE6f3ZV71BQuKmemo2enAwKBgQC3iwDiIgHi0rCSMTTcRwg1inFu3/lgdd+0\njl9Jipm4+HgFTTLmNNn8lLtMgrlEaw402cErmAKnDAexjAY1cddDmPUSSF+z/juw\nJEMP7+/b9yK51W0o3W/CaI/VPKKDodfcmLaWmf2l665lhMPdAdL8pKI4ey66NguD\nmBEjgUQzzQKBgQDGY10IyoGhazmYneZ1AIMAQExS/coqvIvs7yWipeSaZhEVd+g3\nNSwFThQ3ugJWkhEMJkbPgKFW0csCXnEzx0UMwfg3fuF77DLUUQNhO3AfIMjgySuz\nhCJD5gXWWO8/YMDHhTrKfVTHDdiyFI1pfXqjUyj4V+KmYrr8try91CYOvQKBgGsT\nS8OgpUsHMP1IeZccVVyu1Hgjb99nRMeX210S35U6VwJ4w/3qzVT+C7qZ9K1GazZH\n5tqgxsNfUEmy75hUPonv/ODamgJuibG7pefxSRQhO///07voWx+mUmrLAeAbFcxa\nxwJa+c/HC6mr53vSaZz8Cqs6qcr2ZocxuqXk7r3tAoGAD4NVneZfYLA/TEeG55oe\nHB+XOWAINyRqSnrZwHSXLyed9ARoUZIUv33eXe+1X8cbXiN4174ZpJYzYU+B5jNs\nd247aGQH5Ek9fZZ9QD+NWBE3s6WknEtgQwhK9q0XyYAcYMY37QBtEf32YqRrmesy\nQ1MwtHCuZQxed725uF3QZV4=\n-----END PRIVATE KEY-----"
} ]

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 80

"http://api.example.com/application_principals/68b93b12df034b708f4d1a35c6081a12"

Create Multiple Application Principals

A POST request is used to create multiple ApplicationPrincipal. The request should include references to a valid existing application and environment. This request can be used to renew an expired certificate. After creating a new ApplicationPrincipal, you can DELETE the expired one using Delete application principal.

Request fields

Path Type Description Constraints

[].principal

String

The principal of an Application for an Environment

[].application

String

A valid URI of an existing application

[].environment

String

A valid URI of an existing environment

Curl request

$ curl 'http://api.example.com/application_principals' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
}, {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEqjCCApKgAwIBAgIRALTsEWUyE0XWR2K9lUXS0KIwDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzQ2WhcNMjUwMzMxMTIzMzQ2WjBPMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEZMBcGA1UEAwwQRXhh\nbXBsZSBDb25zdW1lcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALYY\nGI57voNaczjiMrIML7kgmU8yMbs4qS8181TNAfklW+hIRM5WijveoSMHUlvuV1BG\npHrynHTmKCm/Scf2P/xZJxkpdwvrd5DA09HEr3C6uXlE8uRdUNhANfra0SWt8T3J\n+0EeRGNerLzVfIJ99jJoNeDknTzOSUXyRsqw7GUtw24P2VSoiN/U0eE/m/LTQ7Tw\nuQyNtBg1h0dEgVPgeVoGt1kBsR+U3+l9cYYdWvbzqi6H8qoHTP9yqOkiiugFXrZ2\n5e3TKk9gvj4vGIurXVY68D3frV46JNNy1GLGVjp+X7p6jjAsvj4o0jCUZ8qfQLrV\n5qdTu5WEHk+tXgUUqrsCAwEAAaOBpDCBoTAJBgNVHRMEAjAAMB0GA1UdDgQWBBRn\nxahN4NjId1+1tDSnU10FldMgyjBJBgNVHSMEQjBAgBRr0ilXi1I2LAUKxle5GnR4\nrBMfZqEkpCIwIDEeMBwGA1UEAwwVQXh1YWwgRHVtbXkgUm9vdCAyMDE4ggIQADAL\nBgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA0GCSqG\nSIb3DQEBCwUAA4ICAQBbfovDWAzQB8N8kilCyK8Pi0iXXVYyTDgk4OswpthuI7m3\nAcCpeke7ADKF1pt5Zpyta/PNmgd0H25GkKi6JF/Anx9o9y560ixBy9FxYbWLDI7q\nRBjwg3+e4b1Jos8Jq0e8OOXz2wxMh3ls683SAASM5Ki1zlAXYV5HLsQv+Gm8TC/W\nBohYBjRUgMyb8Ahs1ECi+XcToJVAqdfznCGKqnkEukZir8u2Mpi3G/++C3809T2B\n+qudJ/7uqDaR5dEaA1sYIjnBvZDZRRRjRFQNR/54trlFYqYniC6XEZ5WuW10ARrQ\ne5iSphF68bITjk1nBIJlJcDgODokYW0A0H8NmQydU1yPEtkIO2UzRnNobWjTzE6i\nULtC1UfG3u02Uig17XPGrJOCmbMm1p96lTtuGsp/YykabFdtQ+y03wvXouNGXFBP\nJ6jPk7jmHp2WMDWPUuHUxt+jTQsWbriGJi11uCDIpETR9iOV6AjMuGydJCpgaFP1\niSc+h81mnAADZVIutZ5RZOmd//VhlenRi++B+gUsQ00Ksy4quQsr4WoZiM8bLIGQ\nUQG5pCvH9yLCubIZ8UDlkwk1aXmfBefkaqtNn0ULRgIK6kycMpVsIki1fOXsxqHf\n55qtIFMOtGy8J4wgVSIBDDU2jy55ivkCgQFHzr/vvpkwZpma5gBXqwn+iqPzLw==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
}, {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEqjCCApKgAwIBAgIRAIdrfcr8YRHHGGrz1XqzMqMwDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUwWhcNMjUwMzMxMTIzMzUwWjBPMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEZMBcGA1UEAwwQRXhh\nbXBsZSBQcm9kdWNlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJj\naszl/8PW/CWTIZINpKDd2FNfq72HdnXxGZ/1UPW9fW3cYsJm6RC2TgT3g5zpWudO\nE+6o3u7YDd1X23pTG5mimWPQQ3g2OpjvhANjecBu1MyNCJFLpujblQXD6ziaD3OG\neqhC+4JjJB2tw64esDOfrdbJPfsuh4CAAoM/6cU2u4ktCijJOf1EbWOoSVRXj+JX\nE4AqNKTKRKriYOrtgvYmkx9J5thwLy2qicZC+O5h4T9sXSEZfsnuN1PXWHb71Lcw\nHw704lBJDt3wc/ZKnyBzQ5dM3vtDzq+o/J4QljTuqu5JQ5Dpsz838FpyaZGhgbu0\nPeeDX0I7Z6U8hYYZYHECAwEAAaOBpDCBoTAJBgNVHRMEAjAAMB0GA1UdDgQWBBTe\nzat2kJVndB4tQK2GPouV22wGhzBJBgNVHSMEQjBAgBRr0ilXi1I2LAUKxle5GnR4\nrBMfZqEkpCIwIDEeMBwGA1UEAwwVQXh1YWwgRHVtbXkgUm9vdCAyMDE4ggIQADAL\nBgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA0GCSqG\nSIb3DQEBCwUAA4ICAQBFN2qqIrbwXmETUHUZT5cyS+pVoKOoknv0vM77VNMvv1n+\n3MKdcfu/DhTP+PMYfbZLRzNo5ST8106u54RYETIPrcuuz39m7hP8X6xrvXRddF79\n+PhfPDjly0bL+N810RsdMTB8Tykcn4Y6ePR7jegqXeh1mCfOc+tb1/MwW5AKRsg3\n+qUkhS87fzaU7LoV9NWWOwGVQ8DDZP4GvDTViSIw4AfoAnvxSbhtauDt+Z+cVTCk\n9QrNjRBRqSiuqIoSGd3zvBCLgqgspjV0gJkcHVz0ONxZxhxUkqabMgzAQKmCBP/x\nwPwofgDaNpLgd1m9fYNu83q3tKexLq0cLsNqMlodHmShymDRk/K4P0WmkntiTMgs\nPPfaG+S5FkChWqFC4xHoI/bvbICPKk8HyhNKtbduSq5uqX2keqh9+YhPyXqBj6HD\nvqdhj8VNiJOhZ1T4EYhoy+uhz8zxUBBiZR2c3BIRQ3QwF+Nr1/5AGYO8zDuhGhNu\nZowL5s467pLmH0jjFz45rw4GQfId+r18PA7A2bxoRMXC97g+riqrq5Dx33WOAWHE\nmzOKjfGGdxx3Eqxw8WRYAkaBcGBznCbgotriVjh4UzcjpMpkTqUaVvRaghp411xP\n/uXlapXJsX/jBaBiLch4c25GiqR83YA2GlGGaWPuTzvgMNTh2wIsvDZU3o2oGQ==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
} ]'

HTTP request

POST /application_principals HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 17016
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
}, {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEqjCCApKgAwIBAgIRALTsEWUyE0XWR2K9lUXS0KIwDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzQ2WhcNMjUwMzMxMTIzMzQ2WjBPMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEZMBcGA1UEAwwQRXhh\nbXBsZSBDb25zdW1lcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALYY\nGI57voNaczjiMrIML7kgmU8yMbs4qS8181TNAfklW+hIRM5WijveoSMHUlvuV1BG\npHrynHTmKCm/Scf2P/xZJxkpdwvrd5DA09HEr3C6uXlE8uRdUNhANfra0SWt8T3J\n+0EeRGNerLzVfIJ99jJoNeDknTzOSUXyRsqw7GUtw24P2VSoiN/U0eE/m/LTQ7Tw\nuQyNtBg1h0dEgVPgeVoGt1kBsR+U3+l9cYYdWvbzqi6H8qoHTP9yqOkiiugFXrZ2\n5e3TKk9gvj4vGIurXVY68D3frV46JNNy1GLGVjp+X7p6jjAsvj4o0jCUZ8qfQLrV\n5qdTu5WEHk+tXgUUqrsCAwEAAaOBpDCBoTAJBgNVHRMEAjAAMB0GA1UdDgQWBBRn\nxahN4NjId1+1tDSnU10FldMgyjBJBgNVHSMEQjBAgBRr0ilXi1I2LAUKxle5GnR4\nrBMfZqEkpCIwIDEeMBwGA1UEAwwVQXh1YWwgRHVtbXkgUm9vdCAyMDE4ggIQADAL\nBgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA0GCSqG\nSIb3DQEBCwUAA4ICAQBbfovDWAzQB8N8kilCyK8Pi0iXXVYyTDgk4OswpthuI7m3\nAcCpeke7ADKF1pt5Zpyta/PNmgd0H25GkKi6JF/Anx9o9y560ixBy9FxYbWLDI7q\nRBjwg3+e4b1Jos8Jq0e8OOXz2wxMh3ls683SAASM5Ki1zlAXYV5HLsQv+Gm8TC/W\nBohYBjRUgMyb8Ahs1ECi+XcToJVAqdfznCGKqnkEukZir8u2Mpi3G/++C3809T2B\n+qudJ/7uqDaR5dEaA1sYIjnBvZDZRRRjRFQNR/54trlFYqYniC6XEZ5WuW10ARrQ\ne5iSphF68bITjk1nBIJlJcDgODokYW0A0H8NmQydU1yPEtkIO2UzRnNobWjTzE6i\nULtC1UfG3u02Uig17XPGrJOCmbMm1p96lTtuGsp/YykabFdtQ+y03wvXouNGXFBP\nJ6jPk7jmHp2WMDWPUuHUxt+jTQsWbriGJi11uCDIpETR9iOV6AjMuGydJCpgaFP1\niSc+h81mnAADZVIutZ5RZOmd//VhlenRi++B+gUsQ00Ksy4quQsr4WoZiM8bLIGQ\nUQG5pCvH9yLCubIZ8UDlkwk1aXmfBefkaqtNn0ULRgIK6kycMpVsIki1fOXsxqHf\n55qtIFMOtGy8J4wgVSIBDDU2jy55ivkCgQFHzr/vvpkwZpma5gBXqwn+iqPzLw==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
}, {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIEqjCCApKgAwIBAgIRAIdrfcr8YRHHGGrz1XqzMqMwDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUwWhcNMjUwMzMxMTIzMzUwWjBPMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEZMBcGA1UEAwwQRXhh\nbXBsZSBQcm9kdWNlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJj\naszl/8PW/CWTIZINpKDd2FNfq72HdnXxGZ/1UPW9fW3cYsJm6RC2TgT3g5zpWudO\nE+6o3u7YDd1X23pTG5mimWPQQ3g2OpjvhANjecBu1MyNCJFLpujblQXD6ziaD3OG\neqhC+4JjJB2tw64esDOfrdbJPfsuh4CAAoM/6cU2u4ktCijJOf1EbWOoSVRXj+JX\nE4AqNKTKRKriYOrtgvYmkx9J5thwLy2qicZC+O5h4T9sXSEZfsnuN1PXWHb71Lcw\nHw704lBJDt3wc/ZKnyBzQ5dM3vtDzq+o/J4QljTuqu5JQ5Dpsz838FpyaZGhgbu0\nPeeDX0I7Z6U8hYYZYHECAwEAAaOBpDCBoTAJBgNVHRMEAjAAMB0GA1UdDgQWBBTe\nzat2kJVndB4tQK2GPouV22wGhzBJBgNVHSMEQjBAgBRr0ilXi1I2LAUKxle5GnR4\nrBMfZqEkpCIwIDEeMBwGA1UEAwwVQXh1YWwgRHVtbXkgUm9vdCAyMDE4ggIQADAL\nBgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA0GCSqG\nSIb3DQEBCwUAA4ICAQBFN2qqIrbwXmETUHUZT5cyS+pVoKOoknv0vM77VNMvv1n+\n3MKdcfu/DhTP+PMYfbZLRzNo5ST8106u54RYETIPrcuuz39m7hP8X6xrvXRddF79\n+PhfPDjly0bL+N810RsdMTB8Tykcn4Y6ePR7jegqXeh1mCfOc+tb1/MwW5AKRsg3\n+qUkhS87fzaU7LoV9NWWOwGVQ8DDZP4GvDTViSIw4AfoAnvxSbhtauDt+Z+cVTCk\n9QrNjRBRqSiuqIoSGd3zvBCLgqgspjV0gJkcHVz0ONxZxhxUkqabMgzAQKmCBP/x\nwPwofgDaNpLgd1m9fYNu83q3tKexLq0cLsNqMlodHmShymDRk/K4P0WmkntiTMgs\nPPfaG+S5FkChWqFC4xHoI/bvbICPKk8HyhNKtbduSq5uqX2keqh9+YhPyXqBj6HD\nvqdhj8VNiJOhZ1T4EYhoy+uhz8zxUBBiZR2c3BIRQ3QwF+Nr1/5AGYO8zDuhGhNu\nZowL5s467pLmH0jjFz45rw4GQfId+r18PA7A2bxoRMXC97g+riqrq5Dx33WOAWHE\nmzOKjfGGdxx3Eqxw8WRYAkaBcGBznCbgotriVjh4UzcjpMpkTqUaVvRaghp411xP\n/uXlapXJsX/jBaBiLch4c25GiqR83YA2GlGGaWPuTzvgMNTh2wIsvDZU3o2oGQ==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
} ]

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 238

"http://api.example.com/application_principals/d3da86ec10e24b178e568564d6cb0a3d,http://api.example.com/application_principals/da6129232b0642a2b3c299e94c172fae,http://api.example.com/application_principals/2e6c19537e4b4fccb8ee7d893857246c"

Create Application Principal that is already present

In case the ApplicationPrincipal is already present in the Self-Service with the exact same Principal and fingerprint, we return a 400 Bad Request to prevent saving the same principal again.

HTTP request

POST /application_principals HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 3964
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

[ {
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "application" : "http://api.example.com/applications/5ffc4240fcdf4a479a16f2b0b12ab909",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
} ]

HTTP response

HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 172

{
  "status" : "BAD_REQUEST",
  "message" : "A certificate already exists with the same fingerprint.",
  "errors" : [ "errmsg.duplicate.principal" ],
  "subErrors" : null
}

Create a custom Application Principal to store a clientID

A POST request is used to create a custom ApplicationPrincipal without using a pem file. This type of certificate is used to authenticate your application with an IAM provider using the custom ApplicationPrincipal as Client ID.

Request fields

Path Type Description Constraints

[].principal

String

The custom principal of an Application for an Environment

[].application

String

A valid URI of an existing application

[].environment

String

A valid URI of an existing environment

[].custom

Boolean

A boolean identifying if we are creating a custom principal

Curl request

$ curl 'http://api.example.com/application_principals' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '[ {
  "principal" : "a-custom-principal-identifying-a-clientID",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "custom" : true
} ]'

HTTP request

POST /application_principals HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 266
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

[ {
  "principal" : "a-custom-principal-identifying-a-clientID",
  "application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "custom" : true
} ]

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 80

"http://api.example.com/application_principals/195de1e8da444952bbe3b7de30a3f06c"

Retrieve application principal

The application_principals/{id} resource is used to retrieve a single principal of an application for an environment.

A GET request will retrieve the details of a ApplicationPrincipal.

HTTP request

GET /application_principals/1e9ee6ce053c46b0932358c8503a26fd HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 2830

{
  "principal" : "principal 1 test",
  "applicationPem" : "principal 1 test",
  "principalChain" : null,
  "privateKeyPem" : null,
  "expiresOn" : "2038-05-24T10:34:14",
  "uid" : "1e9ee6ce053c46b0932358c8503a26fd",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "privateKeyUploaded" : false,
  "_embedded" : {
    "application" : {
      "name" : "tenantaApplication1",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "tenantaApplication1 description.",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app1",
      "visibility" : "public",
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "environment" : {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "applicationPrincipal" : {
      "href" : "...",
      "title" : "A principal for application"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    }
  }
}
Relation Description

delete

Existence of this link indicates that the currently authenticated user can delete this ApplicationPrincipal

Update application principal (deprecated)

The endpoint PATCH /application_principals/{uid} is now deprecated. If you want to renew your certificate, first you can create new one Create Application Principal and later try to remove the old ApplicationPrincipal Delete application principal.

A PATCH request is used to update a ApplicationPrincipal. Only principal field can be modified.

If application, environment or privateKey needs to be updated, delete the ApplicationPrincipal and create a new one.

Curl request

$ curl 'http://api.example.com/application_principals/1e9ee6ce053c46b0932358c8503a26fd' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
}'

HTTP request

PATCH /application_principals/1e9ee6ce053c46b0932358c8503a26fd HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 1898
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "principal" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----\n"
}

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Update a custom application principal

A PATCH request is used to update a custom ApplicationPrincipal. Only principal field can be modified.

If application or environment needs to be updated, delete the ApplicationPrincipal and create a new one.

Curl request

$ curl 'http://api.example.com/application_principals/c58du2867d8e43668271761e23659ef8' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "principal" : "updated-custom-principal"
}'

HTTP request

PATCH /application_principals/c58du2867d8e43668271761e23659ef8 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 46
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "principal" : "updated-custom-principal"
}

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Delete application principal

A DELETE request is used to delete an ApplicationPrincipal.

$ curl 'http://api.example.com/application_principals/1e9ee6ce053c46b0932358c8503a26fd' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /application_principals/1e9ee6ce053c46b0932358c8503a26fd HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Validate application principal

Validates the provided application_principal pem’s content for validity.

POST /application_principals/validate HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 5590
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "contents" : "-----BEGIN CERTIFICATE-----\nMIIEsjCCApqgAwIBAgIRANlGfD2h/5K+2AqXk+2/GmswDQYJKoZIhvcNAQELBQAw\nKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcN\nMjAwNDAxMTIzMzUzWhcNMjUwMzMxMTIzMzUzWjBXMQswCQYDVQQGEwJOTDEQMA4G\nA1UEBwwHVXRyZWNodDETMBEGA1UECgwKQXh1YWwgQi5WLjEhMB8GA1UEAwwYRXhh\nbXBsZSBTdHJlYW0gUHJvY2Vzc29yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAo8DILU6LFXEpN2DcD7f9haAMq9ddlDYDomDM7PAk7UwYGUuycpX11z9s\nSdbO5a0WNc/qN2Zi/tPn7cYrYod6nsLG+NfBSMYNakvc7at8Ym2m2I3k5klQM3YH\nSTUf+a9O3Gfz6Q2XZ6GvHIf63omEH8cBD9fk9BLmDKgQHwcNf9mvWa4se9ONsY1l\nGs/R+q7hmGLZbbyr2lWSrXp0GKKfoxtS/mv0Z0lcuvxgGpB3HHMY6pegBuhOOVwC\nv1HUUTAORoYmwOuFD0fO6vAmwGUuyPwCSJxcDXGJYwnpK953yJYM1UAF/BKe5fFM\nZ3Ce75R06feQaZYilp7XQN4YYBJWZwIDAQABo4GkMIGhMAkGA1UdEwQCMAAwHQYD\nVR0OBBYEFLjtlM29zjwQ7SR5IbR3CARf+ENiMEkGA1UdIwRCMECAFGvSKVeLUjYs\nBQrGV7kadHisEx9moSSkIjAgMR4wHAYDVQQDDBVBeHVhbCBEdW1teSBSb290IDIw\nMTiCAhAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwDQYJKoZIhvcNAQELBQADggIBAKk6ID1SYackve9eCe9hk//OZY7wWUirRP+7\nJIoCi+cAMx4hn1M5XPi4yQaGMe2vQXgcOgu2h7ljqXdpkSL4ZTAv1PCyOEMHJ0Wn\nHc4biKr6reQ7GQzsjygB5ULr9T5CEH/HAfAw9n7ttrxadPOlLbgilucyO8LeLrPZ\nJ0Jbo1Yf1VJE5SZmWN9U47AlDhEZnWjAQolcIqVWOcVYYT12ca9epH+slnBXDX7B\ny41AYaPwA0c/j+mlSXdFsU8HxU9NSu1R15bzW3+4uTIPvIeB3s+yjHBt35Sb9IRS\nGoaGIcE9HJZh9QTqgPUDxlXgDvWttfzIp2wNeWpmd9WP+Ai7CT9M2PxSGYDunl27\neY/U83AaScaSoSXn9tXHtXyRHrD/OAlWc+NzZtFJxRlRw7sc4ElmHbSoBVcDpi38\nTGBD+zxTpKMeTaVhJpGvhzc9MVy5qaI6Bcdg6J4SusiTiMro9bu/kxuxrLcE1E7w\nAmeqQwPoaZZ3O200kd4bd7Iil6g3mP8nVkkeLuJA5/ax9FEdbEH+jpfk3ouf+AKe\np1whWsEx5KOqApnl6NByRq+zqohofmyDWCIXzSXp0neQEryByatZDUVuf1HUQCAv\nFkoZdzOnT+scywMfxyqrP0N8nvh/0CBPX/s+7B9v+KJm54ZQcxAEsms/NvkNPunx\nVANhOECv\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
  "environment" : "https://api.example.com/api/environments/047ab08009fe4da8be6905b55552ab52"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Validate application principal’s Private Key

Validates the provided application_principal’s private key.

POST /application_principals/validate_private_key HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 7255
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "certificate" : "-----BEGIN CERTIFICATE-----\nMIIFhjCCA26gAwIBAgICECwwDQYJKoZIhvcNAQELBQAwKzEpMCcGA1UEAwwgQXh1\nYWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEwHhcNMTkwNjEzMTQwNTMyWhcN\nMjExMTI5MTQwNTMyWjBjMQswCQYDVQQGEwJOTDEQMA4GA1UECAwHVXRyZWNodDEQ\nMA4GA1UEBwwHVXRyZWNodDEOMAwGA1UECgwFQXh1YWwxDjAMBgNVBAsMBUF4dWFs\nMRAwDgYDVQQDDAd0ZXN0IENOMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC\nAgEAnZaQX6aDGnNsua3DNlV/RI8BmjvpFaqOWNmWQYive6w8BTciuq+EeVUM6SGc\nST4YCFsuNFQjxYCiGMzFBp1kBWOY/x255MVik/zlcSZgSIqr2zikyR/9d9F9QEQr\nUXPthu3UwLXWJu+itfiOKDb5a2SY512MXaUDNntiZdSoL9IzV3vKOxNibyT3Ldmc\nf4FvBpF3cH+/SFjWi7Nu7u6xqQDotm/u3S61XaFlenTHwHvNezLtSU7xVFoFOGk+\nC0OTfLFXcEeRPujTpDC15PweBwlnwmmj7QjmJYI6Eq1dJ5JW5rrHLO1qYqZtfyG3\nl1PsGpxWHNJGTIyNjbQzcjdCCZBSdEVnICAU6m4RG33EXkjExPerlEhCcw8D703r\nWB8fgBc1n3wM/NZ3YXsHxTIcBTYFeIAzs3sGDKZ4cjxzktFIAUQ5aIMj9vc95et8\nTE8EiVpDDbL0SppmSawoA+/U+sx7t8Hh9m/HnGNAIULuj4CWYqvgM2/4ptSdpQfl\nzCKe4Hp1ACfcuOs/O5sj0PhosdOHKoLFki+Bf+wL5I83VpNnDHuEZ+zNF83JdcWL\ncd5hWWZ+EcW9GO3ITUKvBwKTKWB9wHCdyuAUTj6UrF1X4PYMvV5rK081gguefJH9\nh9RlBWy+5JDU2j7nt1Jrl4CM1v73LftCKmCC6bF8wPfl34MCAwEAAaN8MHowCQYD\nVR0TBAIwADAdBgNVHQ4EFgQUbFnI40k82TldvwpXAmngw+Gy4OYwHwYDVR0jBBgw\nFoAUa9IpV4tSNiwFCsZXuRp0eKwTH2YwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQW\nMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAgEAlMAVbb+M\nKx6ej6boH27b5fSZGCiXEanQ0u8uO1DeLJsagYwsb9EsCLQpVc5+M+rhMk++yVvr\n2Yb+UkTWfWcUwTcfLk3TEYe8X/8zqY+uDJOumNpSIgyF0kPeQ9KGNjaCZLa87Npb\n0dvXIabohJlEMGJt2/cAK19keC5VbxwKeSk95RUiSwgE8K4DbtyFUIIy8a1y+Mwu\nvlfIz/FVgQWlWjSZ0NUx7/oKgznDg5oRjiuD6yYM084soiW3RgxGQ/sxqUXJyc++\nFU3xwO3mVX1tjry/d42KRSxsLpM2+jAXawwzRWFjuFUExl1i1OgaGtU33MRo6siO\n0BPal3eBC5I7rGb8GOuYQmO5QLPpj8+sxCzqzKQOZ9ATLvdjM6v9EiRp5nuTXFh4\nV07qQ4hxs4KeRz9Oig5VpnHQ8/SGWFPV2TgEnPr3Lu6knNjvI8O9wwo1mF/Q3yUc\nHE1YdLJ9ctJ2KHbsPpWDO4Zk7+6LejkbscYzEOA2pUlQzpv1rZmOQcnhnhKHlppK\ni5ogPiczSIdmOqQ1jQNS7hzdWZCxpGdjsXtVrYRFUDRv9vqHieBSzuh/GI/PvW7d\nPNRKkMlItv+C4UczOBM1y3kMsHwFSvFfC++TBlA4PkSmtpgnMAXePUlck6H8irtD\naqeURSylqc7U1W1KbsDpI97UCxbVZnFPMhE=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n",
  "privateKey" : "-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCdlpBfpoMac2y5\nrcM2VX9EjwGaO+kVqo5Y2ZZBiK97rDwFNyK6r4R5VQzpIZxJPhgIWy40VCPFgKIY\nzMUGnWQFY5j/HbnkxWKT/OVxJmBIiqvbOKTJH/130X1ARCtRc+2G7dTAtdYm76K1\n+I4oNvlrZJjnXYxdpQM2e2Jl1Kgv0jNXe8o7E2JvJPct2Zx/gW8GkXdwf79IWNaL\ns27u7rGpAOi2b+7dLrVdoWV6dMfAe817Mu1JTvFUWgU4aT4LQ5N8sVdwR5E+6NOk\nMLXk/B4HCWfCaaPtCOYlgjoSrV0nklbmuscs7Wpipm1/IbeXU+wanFYc0kZMjI2N\ntDNyN0IJkFJ0RWcgIBTqbhEbfcReSMTE96uUSEJzDwPvTetYHx+AFzWffAz81ndh\newfFMhwFNgV4gDOzewYMpnhyPHOS0UgBRDlogyP29z3l63xMTwSJWkMNsvRKmmZJ\nrCgD79T6zHu3weH2b8ecY0AhQu6PgJZiq+Azb/im1J2lB+XMIp7genUAJ9y46z87\nmyPQ+Gix04cqgsWSL4F/7AvkjzdWk2cMe4Rn7M0Xzcl1xYtx3mFZZn4Rxb0Y7chN\nQq8HApMpYH3AcJ3K4BROPpSsXVfg9gy9XmsrTzWCC558kf2H1GUFbL7kkNTaPue3\nUmuXgIzW/vct+0IqYILpsXzA9+XfgwIDAQABAoICAA3yTUSpz+B/ZpfoMOaWGnVO\n0q17r90jAwYJ+6pBFoazb3xmrMQo1GiIhmP7fYFd5XKX3zbyW1gXUkEvniA/vaJc\ndiXd053Tei3uq7+fzdWdsCfuk2bZVe1MtPEDF3JV+CeA1NtZPGKlwpioLqyQcPJ4\nLLANL2b6O5aOxN6OO3Q//hs38WXZCVUcyGNeZuNB6TmDljZ2l88nTZV/g8nRhheW\n5QGAVntsrtBigECeJS97xWupziY2vlTgwqWDauJEUMEwULS3ILuYj2JwjSh+x4mH\n447pGoDX0MZxCAKvJRdjdB1nWkk3mbqxT+94ZG8YFkUkoNpcIayUo9JuqD7rdQSP\n/PyxYgy7jmKh0flINuqdgwVZpz/8hjrGOfufYPrNfAZqjan1zt8hDQTyTI0V8Ngc\nXzSWMVddXObPyOrdlBbJRHvhQ5lpIh/TKqAURCKptpSarLdcwlQqiru6leDCNAwv\nAUPQ/212MrSl59p5T9RdvxikOfhFDalYcl3xywSjZowwRuSzgYXpRr8STKxxzlGB\nvO4rQYHPzdP3JvytFqPghSNSVt+M6qu1ph6ou70YHSpVuocvB5+6iHDDgr0vrSXE\nawm4EOSEI+J9F5/YkIE1UtOI6Aj5HHguAWJXBj0ZGiv/bpAVNr+eTx1Ga9qM8nx4\n/2LxlF0urRWZw+qfXL3BAoIBAQDaI0L8k460PSUVF/dL5jwqvSPZey+piHJGWfBr\n5wWslDYn/ABJYKj3NYFF4WDvnabXa8qTmxGOvMuwAwpkp3iEY7MB651tJ26CSCQ4\nYSYwYve/uuhlfQhtFiEihbj9jPebWJK1mQTU+SMOrxWU6UfkFTtsBqnB1ewAorWg\nAbqICUoW4Up10GOAsKRaRu6vhbReTRjM6/G2d3WlFiVsroVPbJeAAWCM7StQaio+\nUKfDJwv8TTC6nPLiYjXfwCLhMSmmD89rreWh8MvVefNTQ4sHcdLJe7reWYxYgOQ3\nXokPFDkbUOqZ1vwahDADYzzI0Nc0YgZW5vR8aYJkhnr7IzUlAoIBAQC48Nb2QXdl\ns9WUzCkKqhonUJhv5+85HIzE7EwnBaNgPAV+whLc1RHYXYGbIXmwZnGPW9gO8E9a\nnoVCCOLKEofhDQnbOH0xucESsGe1CeTj9gjlr0ASxqp7C2EnDBOBbd2g1KGX+IER\ny4YD3D1qeegG/Sntdh4G2x7W/omHRkz+uZ9EuJDd6VBZZwckGJ0kv4iUBAxn1BtL\ngTkFJwManqrQd/4Ceh4osUlXgmpMgjZWzXA+i2jrZh4uWTvvUFEh/GsAqVhXcrHS\nEkSTB8pVRmXq5WIefPNkQqfoXX3aa0KYgPK8TpJWu/oqzPLCzP12ioCFNDsFIx8o\ngFIqSniwhKWHAoIBACdMmQHmF5yTM34UXkI3TXmpr667yb9yTJwuEeluqpAH96XG\necq+dlJrOkn7q7ofnfJLgiiLlGMx0kR4l8PAhC7dw19CMo96vicMljHuFrI68kWB\nh+LY3s7AYOHWU5iib+11zKCY28z+wXkgw/Oa/4+w3467uJOqVaVbqvsTtKZTfhyX\nJBILpBGIQWPeSZwnq3Id06z/iQGFjhVa4w0sd+nyN20hUmKxS89mAQxO/ZpkC329\n7lyAcCWm6evQsrf9YnJ/gK/2mVtOhXqFSPgkQATsVbxk5Sqv2WAMgJEVH/4ud4db\nUZi7qZmhXQEPPOE09sCCNIAthbhwTcSMkdVy510CggEAQr3PpdEcaJyMsIU5LnsS\nsyt3x7LY9zBhcNOh69cyDZG7nfIl4oIWTZH5KuXax5lA1C6d+04oJRjeGGWiirBD\nTylobC+npqFVlwwIcSIf81CgB1vGcMA3V+5UYkYOaAAhImB57KEm2ygqtgvuMhXK\ncXM9hU/CKFE9gPMc6K+rK6YLXz6IMT143Lq8rf8f/toMTPZlD7dRHl+FF2Hr0dh+\n5nrXNUeiyKaqRCVxfSjkuVCseDXRaFpS/AECCyxeCzjP2M5EblKa76feDX2bPEkK\nkMm1LjGDmKQhek77Ey7wOp8WenSUhS6TaozJ8xkNQ5FaLjgaMJFrNi+Q92gmw/Uq\n0wKCAQA7eo+Wz6VBg7i//jrVaZl7MqmuqpaID6vXpAbmjU5BGEoOzxK9cIS0AMsL\npY5QzwQb+y9S35qpkaXsgndlyvdMBq58e5NN+Z8WEULuO85CW3rD6e1rWlXx6M3Y\nLFSKJQUjQ63FQJ+LX8nHylDkV/9T/sCFiYa1zv3AW2c7rz8eqXP9MabptpMqRfwZ\nUVlECszO2xb3zwg7WEnZu+DBNKsTIrKT8w/h3KvvWRbORpDOYcjW64V2NnjBP6Pc\nCUE2QsYVDOG/UDXjNanf3DnMCVVMJn06p+HQCDlATFnScu1qo++A7Dj4HTWmDtiU\nDsbI3yNePnNb5x1AZjii68cy9pLG\n-----END PRIVATE KEY-----"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

ApplicationPrincipals search endpoints

/application_principals/search/findByApplication

Returns all application principals for given Application.

Parameter Description

application

A valid URI of an existing Application

GET /application_principals/search/findByApplication?application=http%3A%2F%2Flocalhost%2Fapplications%2F5ffc4240fcdf4a479a16f2b0b12ab909 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 10480

{
  "_embedded" : {
    "application_principals" : [ {
      "principal" : "CN=Axual Dummy Intermediate 2018 01",
      "applicationPem" : "-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
      "principalChain" : "[0] CN=Axual Dummy Root 2018, [1] CN=Axual Dummy Intermediate 2018 01",
      "privateKeyPem" : null,
      "expiresOn" : "2028-05-26T11:01:34",
      "uid" : "0572812fdc82413999e928fba1194d21",
      "created_at" : "2022-07-24T23:16:23",
      "modified_at" : "2022-07-24T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "privateKeyUploaded" : false,
      "_embedded" : {
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "applicationPrincipal" : {
          "href" : "...",
          "title" : "A principal for application"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        }
      }
    }, {
      "principal" : "principal 1 test",
      "applicationPem" : "principal 1 test",
      "principalChain" : null,
      "privateKeyPem" : null,
      "expiresOn" : "2038-05-24T10:34:14",
      "uid" : "1e9ee6ce053c46b0932358c8503a26fd",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "privateKeyUploaded" : false,
      "_embedded" : {
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "applicationPrincipal" : {
          "href" : "...",
          "title" : "A principal for application"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/application_principals/search/findByEnvironment

Returns all application principals for given Environment.

Parameter Description

environment

A valid URI of an existing Environment

GET /application_principals/search/findByEnvironment?environment=http%3A%2F%2Flocalhost%2Fenvironments%2F46cfaf47d2d04d12923beefac3d0ba5a HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3414

{
  "_embedded" : {
    "application_principals" : [ {
      "principal" : "CN=tenantaapp3,D=tenanta,S=utrecht,C=NL",
      "applicationPem" : "CN=tenantaapp3,D=tenanta,S=utrecht,C=NL",
      "principalChain" : null,
      "privateKeyPem" : null,
      "expiresOn" : null,
      "uid" : "177d7b6b14594e8d8e51186eff59408b",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "privateKeyUploaded" : false,
      "_embedded" : {
        "application" : {
          "name" : "tenantaAutoApplication3",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "",
          "owners" : {
            "name" : "Team App Admins",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "514d4oit834841869644c2ad8b439997",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_auto_app3",
          "visibility" : "public",
          "uid" : "4cc380171afc4c898b6f6c02caccf451",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "environment" : {
          "name" : "tenantaprivenv1",
          "description" : "environment",
          "shortName" : "tenantaprivenv1",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "applicationPrincipal" : {
          "href" : "...",
          "title" : "A principal for application"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/application_principals/search/findByApplicationAndEnvironment

Returns application principals for given Application and Environment.

Parameter Description

application

A valid URI of an existing Application

environment

A valid URI of an existing Environment

GET /application_principals/search/findByApplicationAndEnvironment?application=http%3A%2F%2Flocalhost%2Fapplications%2F5ffc4240fcdf4a479a16f2b0b12ab909&environment=http%3A%2F%2Flocalhost%2Fenvironments%2F047ab08009fe4da8be6905b55552ab52 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 10480

{
  "_embedded" : {
    "application_principals" : [ {
      "principal" : "CN=Axual Dummy Intermediate 2018 01",
      "applicationPem" : "-----BEGIN CERTIFICATE-----\nMIIFLTCCAxWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVQXh1\nYWwgRHVtbXkgUm9vdCAyMDE4MB4XDTE4MDUyOTExMDEzNFoXDTI4MDUyNjExMDEz\nNFowKzEpMCcGA1UEAwwgQXh1YWwgRHVtbXkgSW50ZXJtZWRpYXRlIDIwMTggMDEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uOuzJekmeo3hl8fjQlKS\nHApS3llcliq1YrXpkMbHAA9StHaMHPW+Dzr2/+cdfBAmN3sujCY8Paq15QI+TDOq\nKA5SByCBQKXx2qulBPcZs3mDMt+KxAaeWfwR4Nj0NNKbmw2HjDddo77joeVOuOX2\n4o1wXzmAAolVMIcRYA11EMWNUtYrHCzBa7RfYht2G5dE69ckrgfw1Nxs01Sbg+xP\nsK9aK/LHPUalYZNY+76x7vabEpzaPfpyKzDTWA20SPk0WfTf9/+K3o+urzDG8O/q\nw9xbBOzWohGmRyA/z841p1SD7inpZcyO/KeW1yTP2WyFxADwUrv2mEYXnma/Gdna\nG62IQYk/UMex9W8pT6tfwrg/36sSwr88yPR5dJxzjHUE+w/rYG3k+K+EqvZ5qOC5\n32AJ9BS2nbNuGpmRU1qoMCwpL7B2E/CKJLIdFcf/qmcnWJEXo+u34+fQZg8XaDCI\nXhUqAHz6YkjCiFGd/JwL1IqsfxFsV9wHTUbW2AumglU65ZrjhXrrzE7Hk9ng1spJ\ndOwfBihBNjnr0mKHY9leJ3chJ9HQ55/fEgcRNrj8EC69QCeAtpY5yOAjKpA03UvF\ngrDt8CIyIehNUwTXIhQSHZU4eZ0rzWf0vvMbhL2FvKtphbpnNKoXeNLv2IMZpT4B\nVwsqLqaIkl/I4FPpYBoSYwIDAQABo2YwZDAdBgNVHQ4EFgQUa9IpV4tSNiwFCsZX\nuRp0eKwTH2YwHwYDVR0jBBgwFoAUdKOPDqSFQ6Bfk0I/asBkByt5gsUwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIB\nAKoNIqiOdjlUBNg7cvR9Su4KgGrsZf78pG1H2MlNxJjFM/80EiWEfze/EG2MLxFq\n8vToIHDjb0kVetYpdmfHNXTTlaaroBlXwyUYToPzQ985qr3LD8RhYZFAsiZCTtpJ\n4FT6sh/mccTyx8G8+ZS6mn/le2WPj/t6beNLgbdl5n8fghdQcmT/TqGXE50UftWt\nHSx3fsq2aKuNdVzhKzTin50IbiE9DV1dKo6B+ipOy/Dz5GMv3Z/3ntLTvxabCMOl\n7s7WsUE7VPABRSifUS80Z9Ai38faLSu+Ouzx40ceXwvlFQtJ2LYQ8Ru5Q63k2wB3\nEOE6cgAhiYExrz3fDDtUkui9vIfWfTPMnXR7xQ8YqK4Qqld2ESxvMQU2jzbZKSf+\n3sWnPvN4HTg0cfysmOdLGZwf3u8A9tMtxhUEtxUx7r76M4ekSKdNv1Nf5u5N/h7b\nAbEqSp1XADTxkE448i7hNJzn2Ce6JtFya231Ni0xyYKQIajP18jNypAw1eABYFkN\n53vQTUfqcbtcrCios1xRdDqfgkYaKZv7p63aoObFTf/mmG7sFjGAEPQscagOukwN\nwnkjCVifVbk5qJUaUWSLeYziI+HYkEA9P/h4o83nbf0YgBtOFoc0XWKmKagHifZN\nSEJ9kRCWzYaL2ChiL6jHGh26WT/hbNKeAlcxPnT4u/l1\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=\n-----END CERTIFICATE-----",
      "principalChain" : "[0] CN=Axual Dummy Root 2018, [1] CN=Axual Dummy Intermediate 2018 01",
      "privateKeyPem" : null,
      "expiresOn" : "2028-05-26T11:01:34",
      "uid" : "0572812fdc82413999e928fba1194d21",
      "created_at" : "2022-07-24T23:16:23",
      "modified_at" : "2022-07-24T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "privateKeyUploaded" : false,
      "_embedded" : {
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "applicationPrincipal" : {
          "href" : "...",
          "title" : "A principal for application"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        }
      }
    }, {
      "principal" : "principal 1 test",
      "applicationPem" : "principal 1 test",
      "principalChain" : null,
      "privateKeyPem" : null,
      "expiresOn" : "2038-05-24T10:34:14",
      "uid" : "1e9ee6ce053c46b0932358c8503a26fd",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "privateKeyUploaded" : false,
      "_embedded" : {
        "application" : {
          "name" : "tenantaApplication1",
          "type" : "Java",
          "applicationClass" : null,
          "description" : "tenantaApplication1 description.",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app1",
          "visibility" : "public",
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "applicationPrincipal" : {
          "href" : "...",
          "title" : "A principal for application"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

ApplicationAccess

An ApplicationAccess defines the access type held by an Application on a Stream. There are two access types supported: PRODUCER and CONSUMER.

A PRODUCER access type indicates that the application will produce messages to the stream.

A CONSUMER access type indicates that the application will consume messages from the stream.

The /application_access resource is used to create and list ApplicationAccess.

An ApplicationAccess contains a collection of StreamAuthorization which describes the Environment where the ApplicationAccess is active. These authorizations can be managed at /application_access/uid/authorizations endpoint.

An Application can have multiple ApplicationAccess types (PRODUCER and CONSUMER) on a single Stream.

ApplicationAccess Schema

The /application_access resource uses the following json-schema:

GET /profile/application_access HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 1280

{
  "title" : "Application access",
  "properties" : {
    "accessType" : {
      "title" : "Access type",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "PRODUCER", "CONSUMER" ]
    },
    "grants" : {
      "title" : "Grants",
      "readOnly" : true,
      "type" : "string",
      "format" : "uri"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "application" : {
      "title" : "Application",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "stream" : {
      "title" : "Stream",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all application access

HTTP method GET is disabled for /application_access. Refer to search endpoints to find one or more ApplicationAccess for a Stream or an Application or both.

Update application access

HTTP method PATCH and PUT is disabled for /application_access. Once an application access is created, it cannot be modified. Instead delete and create a new one.

ApplicationAccess search endpoints

/application_access/search/findByGrantsContaining

Returns all application access for given ApplicationAccessGrant.

Parameter Description

applicationAccessGrant

A valid URI of an existing Application Access Grant

GET /application_access/search/findByGrantsContaining?applicationAccessGrant=http%3A%2F%2Flocalhost%2Fapplication_access_grants%2F764c61795cc4438ca8ea5aca262c8e70 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 7409

{
  "accessType" : "PRODUCER",
  "uid" : "fedb6478bfd640caa02f5e5893c62bf0",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "stream" : {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "application" : {
      "name" : "tenantaApplication1",
      "type" : "Java",
      "applicationClass" : null,
      "description" : "tenantaApplication1 description.",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app1",
      "visibility" : "public",
      "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "grants" : [ {
      "comment" : null,
      "status" : "Approved",
      "environment" : {
        "properties" : { },
        "name" : "tenantaenv10",
        "shortName" : "tenantaenv10",
        "description" : "environment",
        "color" : "#80affe",
        "authorizationIssuer" : "Stream owner",
        "visibility" : "public",
        "retentionTime" : 604800000,
        "partitions" : 12,
        "private" : false,
        "uid" : "3gr4e2046dad49468e0848571982a4b8",
        "autoApproved" : false,
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "requestedBy" : null,
      "processedBy" : null,
      "requestedAt" : null,
      "processedAt" : null,
      "uid" : "8760527241d041430209ec714680g8db",
      "created_at" : "2022-06-07T13:16:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "comment" : null,
      "status" : "Approved",
      "environment" : {
        "properties" : { },
        "name" : "tenantaenv2",
        "shortName" : "tenantaenv2",
        "description" : "environment",
        "color" : "#80affe",
        "authorizationIssuer" : "Stream owner",
        "visibility" : "public",
        "retentionTime" : 604800000,
        "partitions" : 12,
        "private" : false,
        "uid" : "e11ee2dd976647109ca904dd8adc050f",
        "autoApproved" : false,
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "requestedBy" : null,
      "processedBy" : null,
      "requestedAt" : null,
      "processedAt" : null,
      "uid" : "764c61795cc4438ca8ea5aca262c8e70",
      "created_at" : "2018-09-09T13:16:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "comment" : null,
      "status" : "Pending",
      "environment" : {
        "properties" : { },
        "name" : "tenantaenv1",
        "shortName" : "tenantaenv1",
        "description" : "environment",
        "color" : "#80affe",
        "authorizationIssuer" : "Stream owner",
        "visibility" : "public",
        "retentionTime" : 604800000,
        "partitions" : 12,
        "private" : false,
        "uid" : "047ab08009fe4da8be6905b55552ab52",
        "autoApproved" : false,
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "requestedBy" : null,
      "processedBy" : null,
      "requestedAt" : null,
      "processedAt" : null,
      "uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
      "created_at" : "2018-06-07T13:16:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "applicationAccess" : {
      "href" : "...",
      "templated" : true,
      "title" : "Access declarations for streams of an application"
    },
    "createApplicationAccessGrant" : {
      "href" : "..."
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "grants" : {
      "href" : "...",
      "templated" : true
    }
  }
}

Managing ApplicationAccessGrant (Access per Environment)

In order to be able to request access for an ApplicationAccess on one or more Environment, application owner needs to create an ApplicationAccessGrant.

Create an ApplicationAccessGrant

A POST is used to create an ApplicationAccessGrant.

HTTP request
POST /application_access_grants HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 297
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "applicationId" : "http://api.example.com/applications/4cc380171afc4c898b6f6c02caccf451",
  "streamId" : "http://api.example.com/streams/a549f500d879419c9f5efa5d3cada7b3",
  "environmentId" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "accessType" : "CONSUMER"
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://api.example.com/application_access_grants/995ecbd66a91463da21c246186edf738
Content-Type: application/hal+json
Content-Length: 12726

{
  "id" : "995ecbd66a91463da21c246186edf738",
  "optLock" : null,
  "environment" : {
    "id" : "047ab08009fe4da8be6905b55552ab52",
    "optLock" : 0,
    "properties" : { },
    "name" : "tenantaenv1",
    "shortName" : "tenantaenv1",
    "description" : "environment",
    "color" : "#80affe",
    "instance" : {
      "id" : "b9301e9144324928911f7d83ec40c478",
      "optLock" : 0,
      "properties" : {
        "min.insync.replicas" : "1",
        "create-stream.disable-time" : "1",
        "retention.ms" : "172800000",
        "segment.ms" : "172800000",
        "num.partitions" : "3",
        "replication.factor" : "2"
      },
      "name" : "TenantA OTA",
      "description" : "TenantA OTA Instance",
      "apiUrl" : "http://aeb-ota.local",
      "instanceClusters" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "schemaRegistryUrls" : "https://schema.local3"
      } ],
      "caCerts" : [ {
        "pem" : "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n",
        "expiresOn" : null
      } ],
      "connectCerts" : [ ],
      "shortName" : "ota",
      "enabledAuthenticationMethods" : [ {
        "rank" : 0,
        "protocol" : "SSL",
        "mechanism" : "MUTUAL_TLS"
      }, {
        "rank" : 2,
        "protocol" : "SASL",
        "mechanism" : "OAUTH_BEARER"
      }, {
        "rank" : 1,
        "protocol" : "SASL",
        "mechanism" : "SCRAM_SHA_256"
      } ],
      "supportTier" : {
        "id" : "14cadc6238fc4695916a8053302743f5",
        "optLock" : 0,
        "name" : "GOLD",
        "description" : "This is gold",
        "uid" : "14cadc6238fc4695916a8053302743f5",
        "created_at" : "2018-09-20T00:00:00",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "connectEnabled" : true,
      "connectLoggingSupportEnabled" : false,
      "connectUrls" : "https://connect1.url,https://connect2.url",
      "granularBrowsePermission" : true,
      "environmentMapping" : true,
      "schemaRegistryVersion" : "2.8.0",
      "instanceClusterSrListener" : [ {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "NO_AUTH",
        "listenerUrl" : "sr-url:25000"
      }, {
        "cluster" : {
          "id" : "66c12e25ab06458eac988f0d700fbe81",
          "optLock" : 0,
          "name" : "Zone1 Cluster OTA",
          "description" : "",
          "location" : "Zone1",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone1.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone1.local",
          "bootstrapServers" : [ {
            "bootstrapServer" : "bootstrapserver1:9093"
          } ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : {
            "MUTUAL_TLS" : "broker:9090"
          },
          "kafkaVersion" : "3.5.1",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "66c12e25ab06458eac988f0d700fbe81"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      }, {
        "cluster" : {
          "id" : "543c3b7d55634eba83b1472775c131c4",
          "optLock" : 0,
          "name" : "Zone2 Cluster OTA",
          "description" : "",
          "location" : "Zone2",
          "billingCloudEnabled" : true,
          "apiUrl" : "http://clusterapi-ota.zone2.local",
          "clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
          "bootstrapServers" : [ ],
          "tenant" : null,
          "providerType" : null,
          "topicPattern" : "{tenant}-{instance}-{environment}-{topic}",
          "groupPattern" : "{tenant}-{instance}-{environment}-{group}",
          "transactionalPattern" : "{tenant}-{instance}-{environment}-{transactional.id}",
          "kafkaListeners" : { },
          "kafkaVersion" : "3.4.0",
          "multiTenant" : true,
          "multiEnvironment" : true,
          "uid" : "543c3b7d55634eba83b1472775c131c4"
        },
        "listenerAuthenticationType" : "TLS",
        "listenerUrl" : "sr-url:24000"
      } ],
      "settings" : {
        "environmentMapping" : "true",
        "certificateReusePrevention" : "NONE",
        "connectEnabled" : "true",
        "granularBrowsePermission" : "true",
        "connectLoggingSupportEnabled" : "false"
      },
      "uid" : "b9301e9144324928911f7d83ec40c478",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null
    },
    "authorizationIssuer" : "Stream owner",
    "visibility" : "public",
    "retentionTime" : 604800000,
    "partitions" : 12,
    "owners" : {
      "id" : "aac290536035440e9a85f193e4affeb3",
      "optLock" : 0,
      "name" : "Environment-tenAenv1",
      "members" : [ {
        "id" : "ea0e7f147df84179a151bdc21f5bb813",
        "optLock" : 0,
        "firstName" : "tenAdmin",
        "lastName" : "TenantA",
        "middleName" : "middleName",
        "emailAddress" : {
          "email" : "tenadmin@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "TENANT_ADMIN"
        } ],
        "fullName" : "tenAdmin middleName TenantA",
        "uid" : "ea0e7f147df84179a151bdc21f5bb813",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "optLock" : 0,
        "firstName" : "powerUser",
        "lastName" : "powerUser",
        "middleName" : null,
        "emailAddress" : {
          "email" : "poweruser@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ {
          "name" : "APPLICATION_ADMIN"
        }, {
          "name" : "SUPER_ADMIN"
        }, {
          "name" : "STREAM_ADMIN"
        }, {
          "name" : "TENANT_ADMIN"
        }, {
          "name" : "ENVIRONMENT_ADMIN"
        } ],
        "fullName" : "powerUser powerUser",
        "uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      }, {
        "id" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "optLock" : 0,
        "firstName" : "envOwner",
        "lastName" : "TenantA",
        "middleName" : null,
        "emailAddress" : {
          "email" : "envowner@tenanta.nl"
        },
        "phoneNumber" : null,
        "roles" : [ ],
        "fullName" : "envOwner TenantA",
        "uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      } ],
      "emailAddress" : null,
      "phoneNumber" : null,
      "properties" : { },
      "uid" : "aac290536035440e9a85f193e4affeb3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null
    },
    "private" : false,
    "autoApproved" : false,
    "uid" : "047ab08009fe4da8be6905b55552ab52",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "status" : "Pending",
  "requestedBy" : "appadmin@tenanta.nl",
  "processedBy" : null,
  "comment" : null,
  "approved" : false,
  "notRevoked" : true,
  "pending" : true,
  "uid" : "995ecbd66a91463da21c246186edf738",
  "created_at" : null,
  "modified_at" : null,
  "created_by" : null,
  "modified_by" : null,
  "requested_at" : "2024-04-10T14:34:57.01909446",
  "processed_at" : null
}

Cancel a pending ApplicationAccessGrant

To cancel a grant that was already requested (in Pending state), call DELETE method on /application_access_grants/uid endpoint.

HTTP request
DELETE /application_access_grants/cc13e0110f7b45ec98d62f6ff8136ad6 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Approve a pending ApplicationAccessGrant

The StreamOwner needs to approve a pending ApplicationAccessGrant.

These can be done by using PUT method on /application_access_grants/uid.

HTTP request
PUT /application_access_grants/cc13e0110f7b45ec98d62f6ff8136ad6 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Revoke/Deny an authorization request for an ApplicationAccessGrant

StreamOwner can DENY or REVOKE an ApplicationAccessGrant by using POST method on application_access_grants/uid/deny.

ApplicationOwner also can CANCEL or REVOKE an ApplicationAccessGrant by using this endpoint.

It’s also possible to specify a comment/reason beside the request.

EnvironmentOwner can REVOKE an ApplicationAccessGrant for their PRIVATE environments.
HTTP request
POST /application_access_grants/764c61795cc4438ca8ea5aca262c8e70/deny HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 31
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "reason" : "Not allowed."
}
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Searching grants by Attributes

A GET request is used to retrieve all application access grants based on the following parameters.

  • StreamId

  • ApplicationId

  • EnvironmentId

  • OwnerIds

  • Statuses

Query parameters
Parameter Description

streamId

Stream id to search for.

applicationId

Application id to search for.

environmentId

Environment id to search for.

ownerIds

Owner ids (comma separated) to search for.

statuses

Statuses (comma separated) of the application access grant to search for.

sort

Property to sort on and the direction.

page

Navigate through different pages.

size

Property to define the page size.

HTTP request
GET /application_access_grants/search/findByAttributes?streamId=066f5944d16344f88c9214d240d139dc&applicationId=&environmentId=&ownerIds=&statuses=&sort=name%2Casc&page=0&size=5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 24331

{
  "_embedded" : {
    "applicationAccessGrantResponses" : [ {
      "accessType" : "CONSUMER",
      "uid" : "420ly0dy72gi123r2m2n56m93ht25wy9",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaprivenv5",
          "shortName" : "tenantaprivenv5",
          "description" : "environment",
          "color" : "#80affe",
          "authorizationIssuer" : "Auto",
          "visibility" : "private",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : true,
          "uid" : "6u2577bclboz97ievex0fv5hvysemooh",
          "autoApproved" : true,
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "testRevoke",
          "shortName" : "test_revoke",
          "description" : "",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "private",
          "owners" : {
            "name" : "Team Kad",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "514d4e9a834841869644c2ad8b439553",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "kad",
                "emailAddress" : {
                  "email" : "kadmember@tenanta.nl"
                },
                "lastName" : "member",
                "uid" : "007b994a6ab34165a93fd4c7a8db1388",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "members" : {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }
            }
          },
          "properties" : { },
          "uid" : "39d82d7994484b53ae1de37ee8924512",
          "allApplicationIds" : [ "nl.tenanta.app.revoke" ],
          "created_at" : "2020-11-01T23:16:23",
          "modified_at" : "2020-11-01T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app.revoke"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : false,
      "status" : "Approved",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null,
      "_links" : {
        "revoke" : {
          "href" : "..."
        }
      }
    }, {
      "accessType" : "PRODUCER",
      "uid" : "764c61795cc4438ca8ea5aca262c8e70",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaenv2",
          "shortName" : "tenantaenv2",
          "description" : "environment",
          "color" : "#80affe",
          "authorizationIssuer" : "Stream owner",
          "visibility" : "public",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : false,
          "uid" : "e11ee2dd976647109ca904dd8adc050f",
          "autoApproved" : false,
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "tenantaApplication1",
          "shortName" : "tenanta_app1",
          "description" : "tenantaApplication1 description.",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "public",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "envAuthor",
                "emailAddress" : {
                  "email" : "envauthor@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              }, {
                "firstName" : "envAdmin",
                "emailAddress" : {
                  "email" : "envadmin@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "7cb463240b8049578b298c214c28512a",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              }, {
                "firstName" : "appOwner",
                "emailAddress" : {
                  "email" : "appowner@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "51234a7a81994d1ca35ca7894cde08c6",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "members" : [ {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }, {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }, {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              } ]
            }
          },
          "properties" : { },
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : true,
      "status" : "Approved",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null,
      "_links" : {
        "revoke" : {
          "href" : "..."
        }
      }
    }, {
      "accessType" : "PRODUCER",
      "uid" : "8760527241d041430209ec714680g8db",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaenv10",
          "shortName" : "tenantaenv10",
          "description" : "environment",
          "color" : "#80affe",
          "authorizationIssuer" : "Stream owner",
          "visibility" : "public",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : false,
          "uid" : "3gr4e2046dad49468e0848571982a4b8",
          "autoApproved" : false,
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "tenantaApplication1",
          "shortName" : "tenanta_app1",
          "description" : "tenantaApplication1 description.",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "public",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "envAuthor",
                "emailAddress" : {
                  "email" : "envauthor@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              }, {
                "firstName" : "envAdmin",
                "emailAddress" : {
                  "email" : "envadmin@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "7cb463240b8049578b298c214c28512a",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              }, {
                "firstName" : "appOwner",
                "emailAddress" : {
                  "email" : "appowner@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "51234a7a81994d1ca35ca7894cde08c6",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "members" : [ {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }, {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }, {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              } ]
            }
          },
          "properties" : { },
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : true,
      "status" : "Approved",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null,
      "_links" : {
        "revoke" : {
          "href" : "..."
        }
      }
    }, {
      "accessType" : "PRODUCER",
      "uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaenv1",
          "shortName" : "tenantaenv1",
          "description" : "environment",
          "color" : "#80affe",
          "authorizationIssuer" : "Stream owner",
          "visibility" : "public",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : false,
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "autoApproved" : false,
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "tenantaApplication1",
          "shortName" : "tenanta_app1",
          "description" : "tenantaApplication1 description.",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "public",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "envAuthor",
                "emailAddress" : {
                  "email" : "envauthor@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              }, {
                "firstName" : "envAdmin",
                "emailAddress" : {
                  "email" : "envadmin@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "7cb463240b8049578b298c214c28512a",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              }, {
                "firstName" : "appOwner",
                "emailAddress" : {
                  "email" : "appowner@tenanta.nl"
                },
                "lastName" : "TenantA",
                "uid" : "51234a7a81994d1ca35ca7894cde08c6",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "members" : [ {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }, {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }, {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              } ]
            }
          },
          "properties" : { },
          "uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
          "allApplicationIds" : [ "nl.tenanta.new.app1", "nl.tenanta.app1" ],
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app1,nl.tenanta.new.app1"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : true,
      "streamConfigured" : true,
      "status" : "Pending",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null,
      "_links" : {
        "approve" : {
          "href" : "..."
        },
        "deny" : {
          "href" : "..."
        }
      }
    }, {
      "accessType" : "CONSUMER",
      "uid" : "785f2bdf733d4c68a73ccdbdbd359b26",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "shortName" : "tenantaenv9",
          "description" : "environment with just revoked app_access configured",
          "color" : "#80affe",
          "authorizationIssuer" : "Auto",
          "visibility" : "public",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : false,
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "autoApproved" : true,
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "publicEnvRevoke",
          "shortName" : "tenanta_revoke_public",
          "description" : "",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "private",
          "owners" : {
            "name" : "Team Kad",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "514d4e9a834841869644c2ad8b439553",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "kad",
                "emailAddress" : {
                  "email" : "kadmember@tenanta.nl"
                },
                "lastName" : "member",
                "uid" : "007b994a6ab34165a93fd4c7a8db1388",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "members" : {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }
            }
          },
          "properties" : { },
          "uid" : "68e4d4e2e3e54ddc836006655d42a995",
          "allApplicationIds" : [ "nl.tenanta.app.revoke.public.env" ],
          "created_at" : "2020-11-01T23:16:23",
          "modified_at" : "2020-11-01T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app.revoke.public.env"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : true,
      "status" : "Revoked",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    }
  },
  "page" : {
    "size" : 5,
    "totalElements" : 7,
    "totalPages" : 2,
    "number" : 0
  }
}
Searching grants in your team grants

In order to search for grant that belongs to your team, set myTeams to true.

Query parameters
Parameter Description

myTeams

If the property is set to true returns the grants owned by the user’s team.

HTTP request
GET /application_access_grants/search/findByAttributes?myTeams=true HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 11803

{
  "_embedded" : {
    "applicationAccessGrantResponses" : [ {
      "accessType" : "CONSUMER",
      "uid" : "420ly0dy72gi123r2m2n56m93ht25wy9",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaprivenv5",
          "shortName" : "tenantaprivenv5",
          "description" : "environment",
          "color" : "#80affe",
          "authorizationIssuer" : "Auto",
          "visibility" : "private",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : true,
          "uid" : "6u2577bclboz97ievex0fv5hvysemooh",
          "autoApproved" : true,
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "testRevoke",
          "shortName" : "test_revoke",
          "description" : "",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "private",
          "owners" : {
            "name" : "Team Kad",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "514d4e9a834841869644c2ad8b439553",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "kad",
                "emailAddress" : {
                  "email" : "kadmember@tenanta.nl"
                },
                "lastName" : "member",
                "uid" : "007b994a6ab34165a93fd4c7a8db1388",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "edit" : {
                "href" : "...",
                "title" : "Indication that this entity can be edited"
              },
              "members" : {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }
            }
          },
          "properties" : { },
          "uid" : "39d82d7994484b53ae1de37ee8924512",
          "allApplicationIds" : [ "nl.tenanta.app.revoke" ],
          "created_at" : "2020-11-01T23:16:23",
          "modified_at" : "2020-11-01T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app.revoke"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : false,
      "status" : "Approved",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null,
      "_links" : {
        "revoke" : {
          "href" : "..."
        }
      }
    }, {
      "accessType" : "CONSUMER",
      "uid" : "785f2bdf733d4c68a73ccdbdbd359b26",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "shortName" : "tenantaenv9",
          "description" : "environment with just revoked app_access configured",
          "color" : "#80affe",
          "authorizationIssuer" : "Auto",
          "visibility" : "public",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : false,
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "autoApproved" : true,
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "publicEnvRevoke",
          "shortName" : "tenanta_revoke_public",
          "description" : "",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "private",
          "owners" : {
            "name" : "Team Kad",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "514d4e9a834841869644c2ad8b439553",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "kad",
                "emailAddress" : {
                  "email" : "kadmember@tenanta.nl"
                },
                "lastName" : "member",
                "uid" : "007b994a6ab34165a93fd4c7a8db1388",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "edit" : {
                "href" : "...",
                "title" : "Indication that this entity can be edited"
              },
              "members" : {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }
            }
          },
          "properties" : { },
          "uid" : "68e4d4e2e3e54ddc836006655d42a995",
          "allApplicationIds" : [ "nl.tenanta.app.revoke.public.env" ],
          "created_at" : "2020-11-01T23:16:23",
          "modified_at" : "2020-11-01T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app.revoke.public.env"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : true,
      "status" : "Revoked",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null
    }, {
      "accessType" : "PRODUCER",
      "uid" : "54d965d723d640b5a56caf285f596f9b",
      "comment" : null,
      "_embedded" : {
        "environment" : {
          "properties" : { },
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "shortName" : "tenantaenv9",
          "description" : "environment with just revoked app_access configured",
          "color" : "#80affe",
          "authorizationIssuer" : "Auto",
          "visibility" : "public",
          "retentionTime" : 604800000,
          "partitions" : 12,
          "private" : false,
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "autoApproved" : true,
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null
        },
        "application" : {
          "name" : "publicEnvRevoke",
          "shortName" : "tenanta_revoke_public",
          "description" : "",
          "applicationType" : "Custom",
          "type" : "Java",
          "applicationClass" : null,
          "visibility" : "private",
          "owners" : {
            "name" : "Team Kad",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "514d4e9a834841869644c2ad8b439553",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null,
            "_embedded" : {
              "members" : [ {
                "firstName" : "kad",
                "emailAddress" : {
                  "email" : "kadmember@tenanta.nl"
                },
                "lastName" : "member",
                "uid" : "007b994a6ab34165a93fd4c7a8db1388",
                "middleName" : null,
                "phoneNumber" : null,
                "_links" : {
                  "tenant" : {
                    "href" : "...",
                    "title" : "A tenant"
                  },
                  "self" : {
                    "href" : "...",
                    "templated" : true,
                    "title" : "URI pointing to current request"
                  }
                }
              } ]
            },
            "_links" : {
              "edit" : {
                "href" : "...",
                "title" : "Indication that this entity can be edited"
              },
              "members" : {
                "href" : "...",
                "templated" : true,
                "title" : "Users belonging to this group"
              }
            }
          },
          "properties" : { },
          "uid" : "68e4d4e2e3e54ddc836006655d42a995",
          "allApplicationIds" : [ "nl.tenanta.app.revoke.public.env" ],
          "created_at" : "2020-11-01T23:16:23",
          "modified_at" : "2020-11-01T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "applicationId" : "nl.tenanta.app.revoke.public.env"
        },
        "stream" : {
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "name" : "tenanta-stream1",
          "description" : "description_tenanta-stream1",
          "keyType" : "AVRO",
          "valueType" : "AVRO",
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl"
        }
      },
      "appConfigured" : false,
      "streamConfigured" : true,
      "status" : "Revoked",
      "requestedByUser" : null,
      "processedByUser" : null,
      "processedAt" : null,
      "requestedAt" : null
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 3,
    "totalPages" : 1,
    "number" : 0
  }
}

ApplicationDeployments

An ApplicationDeployment stores the configs for complex application types like connector that is saved for an Application on an Environment.

The /application_deployments resource is used to create, update, delete, and list application deployments.

List all application deployments

HTTP method GET is disabled for /application_deployments. Refer to search endpoints to find one or more ApplicationDeployment for an Application or an Environment.

Create Application deployment

A POST request is used to create a new ApplicationDeployment. The request should include reference to a valid existing application and environment.

Request fields

Path Type Description Constraints

configs

Object

Configs for an Application Deployment

environment

String

A valid URI of an existing Environment

application

String

A valid URI of an existing Application

Curl request

$ curl 'http://api.example.com/application_deployments' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "configs" : {
    "configKey" : "configValue",
    "key.converter" : null,
    "tasks.max" : null
  },
  "application" : "http://api.example.com/applications/lmk9f4670h1c4866deg78722e2931e5g",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
}'

HTTP request

POST /application_deployments HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 287
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "configs" : {
    "configKey" : "configValue",
    "key.converter" : null,
    "tasks.max" : null
  },
  "application" : "http://api.example.com/applications/lmk9f4670h1c4866deg78722e2931e5g",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://api.example.com/application_deployments/99ed07e5fecd4e6bbce9f176d7e345df

Retrieve application deployment

The application_deployments/{id} resource is used to retrieve a single deployment of an application for an environment.

A GET request will retrieve the details of a ApplicationDeployment.

HTTP request

GET /application_deployments/1e9ee6ce053c46b0932358c7403a56fd HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 2964

{
  "configs" : [ {
    "configKey" : "logger.name",
    "configValue" : "axual-logger"
  }, {
    "configKey" : "name",
    "configValue" : "Axual Logger"
  }, {
    "configKey" : "customeKey",
    "configValue" : "Custom Value"
  }, {
    "configKey" : "connector.class",
    "configValue" : "io.axual.connector"
  } ],
  "state" : "Undeployed",
  "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "application" : {
      "name" : "tenantaApplication6",
      "type" : "SINK",
      "applicationClass" : "io.axual.test.sink.plugin",
      "description" : "",
      "owners" : {
        "name" : "Application-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "shortName" : "tenanta_app6",
      "visibility" : "public",
      "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "environment" : {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "applicationDeployment" : {
      "href" : "..."
    },
    "start" : {
      "href" : "..."
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "application" : {
      "href" : "...",
      "templated" : true,
      "title" : "An application"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    }
  }
}
Relation Description

start

Existence of this link indicates that the currently authenticated user can start this Application

Restart connector’s task

The application_deployments/{id}/task/{taskId}/operation resource is used to restart connector task.

A GET request will restart the connector task using taskId.

Parameter Description

action

A valid action to perform on the deployment

PUT /application_deployments/2f8ff6ce053c46b0932358c7403a57ge/task/2/operation?action=RESTART_TASK HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Type: application/x-www-form-urlencoded
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Retrieve connector config from application deployment

The application_deployments/{id}/config resource is used to retrieve a configured connector config.

A GET request will retrieve the details of a ApplicationDeployment Connector Config.

When application_deployment gets a new plugin class after Axual Connect upgrade, the API provides information on which plugin config is unsupported or added. Each plugin config is marked as Unsupported, New or Custom and the fields unsupported PluginConfigFound and newPluginConfigFound will return true accordingly to signify that the deployment config has to be reviewed.

Any property which is not part of the default connector configuration will be marked as Custom.

HTTP request

GET /application_deployments/1e9ee6ce053c46b0932358c7403a56fd/config HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 2459

{
  "pluginConfigs" : [ {
    "name" : "key.converter",
    "type" : "CLASS",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "LOW",
    "documentation" : null,
    "pluginConfigState" : "New",
    "group" : "group1"
  }, {
    "name" : "connector.class",
    "type" : "STRING",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : "io.axual.connector",
    "importance" : "HIGH",
    "documentation" : "Name or alias of the class for this connector. Must be a subclass of org.apache.kafka.connect.connector.Connector. If the connector is org.apache.kafka.connect.file.FileStreamSinkConnector, you can either specify this full name,  or use \"FileStreamSink\" or \"FileStreamSinkConnector\" to make the configuration a bit shorter",
    "pluginConfigState" : "Existing",
    "group" : "group1"
  }, {
    "name" : "name",
    "type" : "STRING",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : "Axual Logger",
    "importance" : "HIGH",
    "documentation" : "Globally unique name to use for this connector.",
    "pluginConfigState" : "Existing",
    "group" : "group2"
  }, {
    "name" : "customeKey",
    "type" : null,
    "required" : false,
    "defaultValue" : null,
    "providedValue" : "Custom Value",
    "importance" : null,
    "documentation" : null,
    "pluginConfigState" : "Custom",
    "group" : ""
  }, {
    "name" : "logger.name",
    "type" : "STRING",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : "axual-logger",
    "importance" : "HIGH",
    "documentation" : "The name of the SLF4J Logger to write the messages",
    "pluginConfigState" : "Existing",
    "group" : "group2"
  }, {
    "name" : "tasks.max",
    "type" : "INT",
    "required" : true,
    "defaultValue" : null,
    "providedValue" : null,
    "importance" : "LOW",
    "documentation" : null,
    "pluginConfigState" : "New",
    "group" : "group3"
  }, {
    "name" : "transforms",
    "type" : "LIST",
    "required" : true,
    "defaultValue" : "",
    "providedValue" : "",
    "importance" : "LOW",
    "documentation" : "Aliases for the transformations to be applied to records.",
    "pluginConfigState" : "New",
    "group" : "group1"
  } ],
  "unsupportedPluginConfigFound" : false,
  "newMandatoryPluginConfigFound" : true,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

Update application deployment

A PUT request is used to update a ApplicationDeployment. Only configs field can be modified. If application or environment needs to be updated, delete the ApplicationDeployment and create a new one.

$ curl 'http://api.example.com/application_deployments/1e9ee6ce053c46b0932358c7403a56fd' -i -X PUT \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "configs" : {
    "key" : "value"
  }
}'
PUT /application_deployments/1e9ee6ce053c46b0932358c7403a56fd HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 43
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "configs" : {
    "key" : "value"
  }
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Delete application deployment

A DELETE request is used to delete an ApplicationDeployment.

$ curl 'http://api.example.com/application_deployments/3g9ff6ce053c46b0932358c7403a58ff' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /application_deployments/3g9ff6ce053c46b0932358c7403a58ff HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

ApplicationDeployments search endpoints

/application_deployments/search/findByApplicationAndEnvironment

Returns application deployments for given Application and Environment.

Parameter Description

application

A valid URI of an existing Application

environment

A valid URI of an existing Environment

GET /application_deployments/search/findByApplicationAndEnvironment?application=http%3A%2F%2Flocalhost%2Fapplications%2Fdbc9e4670h1c4866deg78722e2930d2g&environment=http%3A%2F%2Flocalhost%2Fenvironments%2F047ab08009fe4da8be6905b55552ab52 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3587

{
  "_embedded" : {
    "application_deployments" : [ {
      "configs" : [ {
        "configKey" : "logger.name",
        "configValue" : "axual-logger"
      }, {
        "configKey" : "name",
        "configValue" : "Axual Logger"
      }, {
        "configKey" : "customeKey",
        "configValue" : "Custom Value"
      }, {
        "configKey" : "connector.class",
        "configValue" : "io.axual.connector"
      } ],
      "state" : "Undeployed",
      "uid" : "1e9ee6ce053c46b0932358c7403a56fd",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "application" : {
          "name" : "tenantaApplication6",
          "type" : "SINK",
          "applicationClass" : "io.axual.test.sink.plugin",
          "description" : "",
          "owners" : {
            "name" : "Application-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : null,
            "properties" : { },
            "uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "shortName" : "tenanta_app6",
          "visibility" : "public",
          "uid" : "dbc9e4670h1c4866deg78722e2930d2g",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "applicationDeployment" : {
          "href" : "..."
        },
        "start" : {
          "href" : "..."
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "application" : {
          "href" : "...",
          "templated" : true,
          "title" : "An application"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

ApplicationDeployments Perform action

/application_deployments/operation

Perform an action for an application deployment : The valid actions are: START, STOP, RESET, DELETE.

Parameter Description

action

A valid action to perform on the deployment

PUT /application_deployments/1e9ee6ce053c46b0932358c7403a56fd/operation?action=START HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

ApplicationDeployments Get status

/application_deployments/status

Returns the real time status of the application_deployment , along with the status for the tasks associated to the application_deployment.

$ curl 'http://api.example.com/application_deployments/1e9ee6ce053c46b0932358c7403a56fd/status' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /application_deployments/1e9ee6ce053c46b0932358c7403a56fd/status HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 235

{
  "connectorState" : {
    "state" : "Undefined",
    "workerId" : null,
    "trace" : null
  },
  "taskStates" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

Streams

A Stream is a continuous flow of similar events (messages) grouped together under a single identity.

The streams resource is used to create and list Streams.

Stream Schema

The streams resource uses the following json-schema:

GET /profile/streams HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 2204

{
  "title" : "Stream",
  "properties" : {
    "confidentiality" : {
      "title" : "Confidentiality",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "keySchema" : {
      "title" : "Key schema",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "owners" : {
      "title" : "Owners",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "valueSchema" : {
      "title" : "Value schema",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "integrity" : {
      "title" : "Integrity",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "valueType" : {
      "title" : "Value type",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "AVRO", "JSON", "String", "Binary", "Xml" ]
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "retentionPolicy" : {
      "title" : "Retention policy",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "delete", "compact" ]
    },
    "keyType" : {
      "title" : "Key type",
      "readOnly" : false,
      "type" : "string",
      "enum" : [ "AVRO", "JSON", "String", "Binary", "Xml" ]
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all streams

A GET request will list all the Streams visible to the currently logged in user.

Curl request

$ curl 'http://api.example.com/streams' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /streams HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 36873

{
  "_embedded" : {
    "streams" : [ {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream-string-avro",
      "properties" : { },
      "description" : "description_tenanta-stream-string-avro",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16944f88c91e4d240d139dc",
      "created_at" : "2022-06-07T23:16:23",
      "modified_at" : "2022-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream-avro-string",
      "properties" : { },
      "description" : "description_tenanta-stream-avro-string",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5949d16944f69c91e4d240d420dc",
      "created_at" : "2022-06-07T13:16:23",
      "modified_at" : "2022-06-07T13:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination10",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "21105915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination12",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba694c0d9da2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_auto_approve_test",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd2302cf54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-my_stream",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd23444454153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : "poweruser@tenanta.nl",
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination2",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be614c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination16",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be624c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination14",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d6dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream4",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d9dd2301ff54153f0",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination18",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d9dd2302cf54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination6",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "311ac915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination8",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31bbb915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination9",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "41105915be694c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream5",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Stream-tenAApplication2",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "88eb98e0eff34fde923c15687e6d75d5",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "63f9d62dfb6141dcae073c2cd09c982f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination4",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "66605915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream3",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153f0",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination1",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination3",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153fc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 28,
    "totalPages" : 2,
    "number" : 0
  }
}
Relation Description

create

Existence of this link indicates that the currently authenticated user can create a new Stream

Create stream

A POST request is used to create a new stream. A message stored in a stream is a key-value pair. The key is used internally by Kafka while value represents the payload of the message. The key and value could be of different formats. These formats are described in below table.

Data format Description

AVRO

A JSON like data model with sophisticated schema description.

JSON

Data structured in JSON format.

STRING

A plain text data with no format.

BINARY

Low-level binary data

The data format for key and value is specified by keyType and valueType fields. If AVRO format is selected, a separate keySchema and valueSchema must be specified for complete AVRO definition. For all other data formats, these fields can be skipped.

It is possible to have different data formats for key and value.

Request fields

Path Type Description Constraints

name

String

The name of the stream

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 180 inclusive

description

String

A summary text describing the purpose of this stream.

Size must be between 0 and 200 inclusive

properties

Object

A list of Stream specific variables in Key, Value format.

owners

String

A valid URI of an existing group, must not be null.

Must not be null

retentionPolicy

String

Defines the policy to retain the messages on this stream. Possible values delete, compact. Default is delete. When set to delete, messages will be cleaned up based on the retentionTime property of StreamConfig. If set to compact, latest messages of each key will be retained forever.

Must not be null

keyType

String

Key type of Stream. Can be one of AVRO, JSON, STRING, XML or BINARY

Must not be null

valueType

String

Value type of Stream. Can be one of AVRO, JSON, STRING, XML or BINARY

Must not be null

keySchema

String

A URI of an existing Schema. Only needed when keyType is AVRO.

valueSchema

String

A URI of an existing Schema. Only needed when valueType is AVRO.

integrity

String

A URI of an existing Integrity. Only needed when dataClassificationEnabled for the current Tenant is ON

confidentiality

String

A URI of an existing Confidentiality. Only needed when dataClassificationEnabled for the current Tenant is ON

Curl request

$ curl 'http://api.example.com/streams' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "general-applicationlog",
  "description" : "Stream to capture application logs",
  "keyType" : "AVRO",
  "valueType" : "AVRO",
  "retentionPolicy" : "delete",
  "keySchema" : "http://api.example.com/schemas/4edccfd6aa744e698542da36f1f01114",
  "valueSchema" : "http://api.example.com/schemas/8bc19be0c9cd4da296acd78e6022edf1",
  "integrity" : "http://api.example.com/integrities/247ab08159fe4da8be6905b55552ab52",
  "confidentiality" : "http://api.example.com/confidentialities/347ab08009fe4da8be6905b55552ab52",
  "owners" : "http://api.example.com/groups/2d8e99afd6e047f69c9595b4f2525fa6"
}'

HTTP request

POST /streams HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 606
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "general-applicationlog",
  "description" : "Stream to capture application logs",
  "keyType" : "AVRO",
  "valueType" : "AVRO",
  "retentionPolicy" : "delete",
  "keySchema" : "http://api.example.com/schemas/4edccfd6aa744e698542da36f1f01114",
  "valueSchema" : "http://api.example.com/schemas/8bc19be0c9cd4da296acd78e6022edf1",
  "integrity" : "http://api.example.com/integrities/247ab08159fe4da8be6905b55552ab52",
  "confidentiality" : "http://api.example.com/confidentialities/347ab08009fe4da8be6905b55552ab52",
  "owners" : "http://api.example.com/groups/2d8e99afd6e047f69c9595b4f2525fa6"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:40:54 GMT
Location: http://api.example.com/streams/f3948fb1ce164439979b0eb41f4352bd
Content-Type: application/hal+json
Content-Length: 3062

{
  "properties" : { },
  "name" : "general-applicationlog",
  "description" : "Stream to capture application logs",
  "keyType" : "AVRO",
  "valueType" : "AVRO",
  "retentionPolicy" : "delete",
  "uid" : "f3948fb1ce164439979b0eb41f4352bd",
  "created_at" : "2024-04-10T14:40:54.576449296",
  "modified_at" : "2024-04-10T14:40:54.576449296",
  "created_by" : "poweruser@tenanta.nl",
  "modified_by" : "poweruser@tenanta.nl",
  "_embedded" : {
    "owners" : {
      "name" : "Stream-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : "abc789964",
      "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "keySchema" : {
      "name" : "nl.tenanta.key-schema1",
      "description" : "",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "valueSchema" : {
      "name" : "nl.tenanta.value-schema1",
      "description" : "",
      "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "owners" : {
      "href" : "...",
      "templated" : true,
      "title" : "The group responsible for this object"
    },
    "confidentiality" : {
      "href" : "...",
      "templated" : true,
      "title" : "The confidentiality configured for the object"
    },
    "keySchema" : {
      "href" : "...",
      "templated" : true,
      "title" : "The AVRO schema configured for key"
    },
    "integrity" : {
      "href" : "...",
      "templated" : true,
      "title" : "The integrity configured for the object"
    },
    "valueSchema" : {
      "href" : "...",
      "templated" : true,
      "title" : "The AVRO schema configured for value"
    }
  }
}

Retrieve a stream

The streams/{id} resource is used to retrieve, update and delete individual streams.

A GET request will retrieve the details of a Stream.

HTTP request

GET /streams/066f5944d16344f88c9214d240d139dc HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 3100

{
  "properties" : {
    "key-1" : "696969",
    "key-3" : "696969",
    "key-2" : "60000"
  },
  "name" : "tenanta-stream1",
  "description" : "description_tenanta-stream1",
  "keyType" : "AVRO",
  "valueType" : "AVRO",
  "retentionPolicy" : "delete",
  "uid" : "066f5944d16344f88c9214d240d139dc",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : "strauthor@tenanta.nl",
  "modified_by" : "strauthor@tenanta.nl",
  "_embedded" : {
    "owners" : {
      "name" : "Stream-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : "abc789964",
      "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "keySchema" : {
      "name" : "nl.tenanta.key-schema1",
      "description" : "",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "valueSchema" : {
      "name" : "nl.tenanta.value-schema1",
      "description" : "",
      "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "owners" : {
      "href" : "...",
      "templated" : true,
      "title" : "The group responsible for this object"
    },
    "confidentiality" : {
      "href" : "...",
      "templated" : true,
      "title" : "The confidentiality configured for the object"
    },
    "keySchema" : {
      "href" : "...",
      "templated" : true,
      "title" : "The AVRO schema configured for key"
    },
    "integrity" : {
      "href" : "...",
      "templated" : true,
      "title" : "The integrity configured for the object"
    },
    "valueSchema" : {
      "href" : "...",
      "templated" : true,
      "title" : "The AVRO schema configured for value"
    }
  }
}
Relation Description

keySchema

Version of the Key schema definition

valueSchema

Version of the Value schema definition

owners

The group of users allowed to access/update the environment.

integrity

UID of the Integrity level definition

confidentiality

UID of the Confidentiality level definition

edit

Existence of this link indicates that the currently authenticated user can edit this Stream

delete

Existence of this link indicates that the currently authenticated user can cascade delete this Stream

Update a stream

A PATCH request is used to update a stream. In the request, pass only the field that needs changing.

Stream’s Value Type, Key Type, Retention Policy and Schema(if AVRO) are editable when there is no stream config created for the stream.

$ curl 'http://api.example.com/streams/066f5944d16344f88c9214d240d139dc' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "retentionTime" : 2000
}'
PATCH /streams/066f5944d16344f88c9214d240d139dc HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 28
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "retentionTime" : 2000
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 3100

{
  "properties" : {
    "key-1" : "696969",
    "key-3" : "696969",
    "key-2" : "60000"
  },
  "name" : "tenanta-stream1",
  "description" : "description_tenanta-stream1",
  "keyType" : "AVRO",
  "valueType" : "AVRO",
  "retentionPolicy" : "delete",
  "uid" : "066f5944d16344f88c9214d240d139dc",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : "strauthor@tenanta.nl",
  "modified_by" : "strauthor@tenanta.nl",
  "_embedded" : {
    "owners" : {
      "name" : "Stream-tenAApplication1",
      "emailAddress" : null,
      "phoneNumber" : "abc789964",
      "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "members" : {
          "href" : "...",
          "templated" : true,
          "title" : "Users belonging to this group"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "keySchema" : {
      "name" : "nl.tenanta.key-schema1",
      "description" : "",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "valueSchema" : {
      "name" : "nl.tenanta.value-schema1",
      "description" : "",
      "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "owners" : {
      "href" : "...",
      "templated" : true,
      "title" : "The group responsible for this object"
    },
    "confidentiality" : {
      "href" : "...",
      "templated" : true,
      "title" : "The confidentiality configured for the object"
    },
    "keySchema" : {
      "href" : "...",
      "templated" : true,
      "title" : "The AVRO schema configured for key"
    },
    "integrity" : {
      "href" : "...",
      "templated" : true,
      "title" : "The integrity configured for the object"
    },
    "valueSchema" : {
      "href" : "...",
      "templated" : true,
      "title" : "The AVRO schema configured for value"
    }
  }
}

Stream search endpoints

/streams/search/findByAttributes

A GET request is used to retrieve all streams based on parameters.

Query parameters
Parameter Description

name

Stream name to search for.

streamId

Stream id to search for.

groupName

Stream owner name to search for.

description

Stream description to search.

myStreams

If set to true - returns only owned streams.

sort

Property to sort on and the direction.

page

Navigate through different pages.

size

Property to define the page size.

HTTP request
GET /streams/search/findByAttributes?name=tenanta-stream1&streamId=&groupName=Stream-tenAApplication1&myStreams=false&description=t&sort=name%2Casc&page=0&size=5 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2273

{
  "_embedded" : {
    "streams" : [ {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 5,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}
Filter by myStreams

A GET request will retrieve streams owned by the current user if parameter myStreams is set to true.

Parameter Description

myStreams

Search only for my streams.

GET /streams/search/findByAttributes?myStreams=true HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2127

{
  "_embedded" : {
    "streams" : [ {
      "name" : "tenanta-my_stream",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd23444454153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : "poweruser@tenanta.nl",
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

/streams/search/findByName

Search for a stream by exact name.

Parameter Description

name

Stream name to search for.

GET /streams/search/findByName?name=tenanta-stream1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 2066

{
  "_embedded" : {
    "streams" : [ {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/streams/search/findByNameContaining

Search for a stream by name containing search term.

Parameter Description

name

Term to search within stream name.

GET /streams/search/findByNameContaining?name=stream HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 34874

{
  "_embedded" : {
    "streams" : [ {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream-string-avro",
      "properties" : { },
      "description" : "description_tenanta-stream-string-avro",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16944f88c91e4d240d139dc",
      "created_at" : "2022-06-07T23:16:23",
      "modified_at" : "2022-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream-avro-string",
      "properties" : { },
      "description" : "description_tenanta-stream-avro-string",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5949d16944f69c91e4d240d420dc",
      "created_at" : "2022-06-07T13:16:23",
      "modified_at" : "2022-06-07T13:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination10",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "21105915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination12",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba694c0d9da2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_auto_approve_test",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd2302cf54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-my_stream",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd23444454153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : "poweruser@tenanta.nl",
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination2",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be614c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination16",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be624c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination14",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d6dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream4",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d9dd2301ff54153f0",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination18",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d9dd2302cf54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination6",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "311ac915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination8",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31bbb915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination9",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "41105915be694c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream5",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Stream-tenAApplication2",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "88eb98e0eff34fde923c15687e6d75d5",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "63f9d62dfb6141dcae073c2cd09c982f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination4",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "66605915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream3",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153f0",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination1",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination3",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153fc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 28,
    "totalPages" : 2,
    "number" : 0
  }
}

/streams/search/findByNameContaining

Search for a stream by name containing search term and order by a nested property.

Parameter Description

name

Term to search within stream name.

sort

Property to sort on and the direction.

GET /streams/search/findByNameContaining?name=stream&sort=owners.name%2Casc HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 35526

{
  "_embedded" : {
    "streams" : [ {
      "name" : "tenanta-my_stream",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Environment-tenAenv1",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "aac290536035440e9a85f193e4affeb3",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd23444454153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : null,
      "created_by" : "poweruser@tenanta.nl",
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream-avro-string",
      "properties" : { },
      "description" : "description_tenanta-stream-avro-string",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5949d16944f69c91e4d240d420dc",
      "created_at" : "2022-06-07T13:16:23",
      "modified_at" : "2022-06-07T13:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream-string-avro",
      "properties" : { },
      "description" : "description_tenanta-stream-string-avro",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16944f88c91e4d240d139dc",
      "created_at" : "2022-06-07T23:16:23",
      "modified_at" : "2022-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream-string-string",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Stream-tenAApplication2",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "88eb98e0eff34fde923c15687e6d75d5",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "a532f500d879419fff5efa5d3cada7b3",
      "created_at" : "2021-06-07T23:16:23",
      "modified_at" : "2021-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream2",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Stream-tenAApplication2",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "88eb98e0eff34fde923c15687e6d75d5",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : {
        "level" : "L2",
        "description" : "This is level 2",
        "color" : "yellow",
        "uid" : "247ab03ffafe4da2bet905b5e352ab53",
        "created_at" : "2019-06-08T23:16:23",
        "modified_at" : "2019-06-08T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "confidentiality" : {
        "level" : "L2",
        "description" : "L2 confidentiality",
        "color" : "blue",
        "uid" : "648ab08009fe4da8be6905b55552ac43",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "retentionPolicy" : "delete",
      "uid" : "a549f500d879419c9f5efa5d3cada7b3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream5",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Stream-tenAApplication2",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "88eb98e0eff34fde923c15687e6d75d5",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "63f9d62dfb6141dcae073c2cd09c982f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_auto_approve_test",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba964c0d9dd2302cf54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination1",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination10",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "21105915be694c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination11",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "9110591abe694c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination12",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915ba694c0d9da2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination13",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9df2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination14",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d6dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination15",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be695c0d9dd2301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination16",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be624c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination17",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9ddc301ff54153f1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination18",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be694c0d9dd2302cf54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination2",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "31105915be614c0d9dd2301ff54153f2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }, {
      "name" : "tenanta-stream_pagination3",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Team Null",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "514d4e9a834841699644c2420b439553",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "91105915be694c0d9dd2301ff54153fc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "..."
    },
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "next" : {
      "href" : "..."
    },
    "last" : {
      "href" : "..."
    },
    "create" : {
      "href" : "...",
      "title" : "URL to create an entity"
    },
    "export" : {
      "href" : "...",
      "title" : "URL to export the list of the entities in CSV"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 28,
    "totalPages" : 2,
    "number" : 0
  }
}

Delete stream

Deleting stream is a two-step process a GET request to check the constraints followed by the DELETE request.

Delete stream constraints

A GET request is used to get the constraints for deleting Stream.

$ curl 'http://api.example.com/streams/066f5944d16344f88c9214d240d139dc/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /streams/066f5944d16344f88c9214d240d139dc/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 80

{
  "canDelete" : false,
  "streamConfigsCount" : 8,
  "activeGrantsCount" : 4
}

Delete stream

A DELETE request is used to delete a Stream.

It is important to know that executing this operation will result in the deletion of not only the stream itself but also its associated entities, including stream configs, application accesses and access grants.

$ curl 'http://api.example.com/streams/31105915be694c0d9dd2301ff54153f0' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /streams/31105915be694c0d9dd2301ff54153f0 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Stream browse config

A GET request is used to obtain the information required to query messages on a specific cluster.

The UID present in the request path needs to be a valid Stream Config uid and NOT a Stream uid !!!
$ curl 'http://api.example.com/streams/c082e097545948dcbd0cf993128d3fc2/browse-config?selectedCluster=Zone+1' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /streams/c082e097545948dcbd0cf993128d3fc2/browse-config?selectedCluster=Zone+1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2085

{
  "clusterDetails" : { },
  "tenant" : "tenanta",
  "instance" : "ota",
  "instanceCAs" : [ "-----BEGIN CERTIFICATE-----\nMIIFJjCCAw6gAwIBAgIJAINuAirfnRU6MA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV\nBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODAeFw0xODA1MjkxMDM0MTRaFw0zODA1\nMjQxMDM0MTRaMCAxHjAcBgNVBAMMFUF4dWFsIER1bW15IFJvb3QgMjAxODCCAiIw\nDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVDjbhq3TGuQ6INTZ+dhSIgsdbq\nw2nxF3myrS7v89bcNxMyLypWYTmR4OAYRXRBnW4KX6sTubPyL3ogPz6hXmfmPfAz\n+X//HTIiybL3e3qwxqWphp09+JT6veEp/e/wEEjSMj5nsxkDEjj9JEQWu/1B+N+V\nXOJkTYFy05ZgeWplkyLwT71myF047aISK27a+VebBMaPpvvetScbMSwxAbk51cGV\nUC4gpwvnvsbp/CRuMV0dYzkeTmxgn860l3s8+7qUJoOrtiO0cDpv97SK9Ck9ef1k\nR6KFttzxb/u+eMFi3RUErEGwE8P3thTseXRkp5hMwcyaSQv0wfLawlwcNFGOzsBx\nfJS7QUIUpEyzRqj5Ppgaj530APxbgitLOfVLZ2DvcBcmnQns6OE+uwymuvAj8Ftj\n6AFJXH2lmswHLl5uD9kIOwmpZg4NZLP2Qv+WOT6HLgI7Kv1z0OV2H7UlWA7hwQXl\noQ6fJ2YLEhT+GM9xHKJ+DQCxvjWvtGUSb/Dk0j/R9mpSFfHvVJgE/xV+7F7Vlyw5\n/cDpF3GZOTGQ/MFy4RqRrTtjnZw2/bZZyJ+Xb743OeQhABFUdadh8cmyehDregtr\nalHxtjKxCxrT55OHCYhbCoz6nEnQURD7EPQhU5puUKalRq2ApDkveIk8uj0HQmQm\nKyRuNX7M6vCoWnpxAgMBAAGjYzBhMB0GA1UdDgQWBBR0o48OpIVDoF+TQj9qwGQH\nK3mCxTAfBgNVHSMEGDAWgBR0o48OpIVDoF+TQj9qwGQHK3mCxTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbJanqR4P\nmr05AyAu8vlrLsleXA8VAPDiaaYStYH5cIdBBWkaIxanLFDmbyQwKkKdkHQWV9X8\n1P52q49T9RsoBsEOmwdiaCY2PEUz7Y3bFW0UeM+k65VlHlXWywRM6+O02t4TrJXH\nF6h7vPon01OwhgW9Yil/Kr+yyZK50Ic+pm4UhHmtxY932cNaRCdae5tKsjabsP7Z\nrdAksLia8mTp+HADkZJ1uODxyDh0S1WMKB5JoHYBrmtUr1NYLgRC6SinhK4r7rbi\nEWuurE605Nm//jv3Czdy8gEsMDtXLZYY0iqGnD11MAJFXyQ6PG2eq1cXcsJNRojm\n8D4ipfQ+z4bp9dDVR2DzVyTYe4yuhZuIe2phOhPc8KkBaXQRMHfVKyeEmzqEFLaM\nkfaDZkRsrMZSqh+KJoxDG3h8UqssChX+cuZdsjRhNWRqfbB20I9Upwa+XooyCU4E\nEkYyFTMchtvbYZEN/XvlPfhK5JB9eJ5rrcE8hKsP3gftchWWqCDedKugvZW/t5Vk\nlc+z4IjiJFnRDfcr4Z5V2Hpseyno3AEK7aUdJlmuPnxoImFXfQ4jUguM/wznJHl7\nXv9T0oaBVHM7Bd6PlES04Oho0KZXS6NryTsZn9GFV4qGZj5lEeOVl15AOfeIjP/I\nokA2uUH/ZuJlR/BEmqbLt5HWPRNT/GgLfPY=-----END CERTIFICATE-----\n" ],
  "stream" : "tenanta-stream1",
  "environment" : "tenantaenv1",
  "keyType" : "AVRO",
  "valueType" : "AVRO"
}

Export Streams in CSV

A GET request is used to export a CSV containing information about the Streams.

The endpoint is also reachable at /export/topics/.
$ curl 'http://api.example.com/export/streams' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /export/streams HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Disposition: attachment; filename="streams.csv"
Content-Length: 6019

"NAME","DESCRIPTION","KEY_TYPE","KEY_SCHEMA_NAME","VALUE_TYPE","VALUE_SCHEMA_NAME","OWNERS_GROUP_NAME","RETENTION_POLICY","PROPERTIES","CREATED_BY","CREATED_AT","MODIFIED_BY","MODIFIED_AT"
"tenanta-stream1","description_tenanta-stream1","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Stream-tenAApplication1","DELETE","{key-1=696969, key-3=696969, key-2=60000}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream-string-avro","description_tenanta-stream-string-avro","STRING","","AVRO","nl.tenanta.value-schema1","Stream-tenAApplication1","DELETE","{}","strauthor@tenanta.nl","2022-06-07T23:16:23","strauthor@tenanta.nl","2022-06-07T23:16:23"
"tenanta-stream-avro-string","description_tenanta-stream-avro-string","AVRO","nl.tenanta.key-schema1","STRING","","Stream-tenAApplication1","DELETE","{}","strauthor@tenanta.nl","2022-06-07T13:16:23","strauthor@tenanta.nl","2022-06-07T13:16:23"
"tenanta-stream_pagination10","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination12","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_auto_approve_test","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-my_stream","description","STRING","","STRING","","Environment-tenAenv1","DELETE","{}","poweruser@tenanta.nl","2018-06-07T23:16:23","",""
"tenanta-stream_pagination2","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination16","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination14","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream4","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination18","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination6","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination8","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination9","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream5","description","AVRO","nl.tenanta.key-schema2","AVRO","nl.tenanta.value-schema2","Stream-tenAApplication2","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination4","description","STRING","","STRING","","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream3","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination1","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination3","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination17","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination13","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination15","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination5","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination11","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream_pagination7","description","AVRO","nl.tenanta.key-schema1","AVRO","nl.tenanta.value-schema1","Team Null","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"
"tenanta-stream-string-string","description","STRING","","STRING","","Stream-tenAApplication2","DELETE","{}","strauthor@tenanta.nl","2021-06-07T23:16:23","strauthor@tenanta.nl","2021-06-07T23:16:23"
"tenanta-stream2","description","AVRO","nl.tenanta.key-schema2","AVRO","nl.tenanta.value-schema2","Stream-tenAApplication2","DELETE","{}","strauthor@tenanta.nl","2018-06-07T23:16:23","strauthor@tenanta.nl","2018-06-07T23:16:23"

StreamConfigs

A StreamConfig is a unique set of configurations of a Stream for an Environment.

The /stream_configs resource is used to create and list StreamConfigs.

StreamConfig Schema

The /stream_configs resource uses the following json-schema:

GET /profile/stream_configs HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 1629

{
  "title" : "Stream config",
  "properties" : {
    "partitions" : {
      "title" : "Partitions",
      "readOnly" : false,
      "type" : "integer"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "environment" : {
      "title" : "Environment",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "stream" : {
      "title" : "Stream",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "valueSchemaVersion" : {
      "title" : "Value schema version",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "keySchemaVersion" : {
      "title" : "Key schema version",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "retentionTime" : {
      "title" : "Retention time",
      "readOnly" : false,
      "type" : "integer"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    },
    "properties" : {
      "title" : "Properties",
      "readOnly" : false,
      "type" : "object"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all stream configs

HTTP method GET is disabled for /stream_configs. Refer to search endpoints to find one or more StreamConfig for a Stream or an Environment or both.

List all stream configs properties

The /stream_configs/properties method is used to retrieve all supported stream config properties. The method returns an Array of all supported stream configs properties

$ curl 'http://api.example.com/stream_configs/properties' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /stream_configs/properties HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 150

[ "max.compaction.lag.ms", "message.timestamp.difference.max.ms", "message.timestamp.type", "min.compaction.lag.ms", "retention.bytes", "segment.ms" ]

Starting with Platform Manager version 7.0.0 we are supporting external Kafka providers, to get the list of supported Kafka properties based on your provider, please provide your tenantId or environmentId as the request param.

$ curl 'http://api.example.com/stream_configs/properties?tenantId=1149c97f04c42had8d9c97faa5a375ac&environmentId=84d93e918d49430fbf1d8cc7494d24d4' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /stream_configs/properties?tenantId=1149c97f04c42had8d9c97faa5a375ac&environmentId=84d93e918d49430fbf1d8cc7494d24d4 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 547

[ "cleanup.policy", "compression.type", "delete.retention.ms", "file.delete.delay.ms", "flush.messages", "flush.ms", "index.interval.bytes", "max.compaction.lag.ms", "max.message.bytes", "message.downconversion.enable", "message.format.version", "message.timestamp.difference.max.ms", "message.timestamp.type", "min.cleanable.dirty.ratio", "min.compaction.lag.ms", "min.insync.replicas", "preallocate", "retention.bytes", "retention.ms", "segment.bytes", "segment.index.bytes", "segment.jitter.ms", "segment.ms", "unclean.leader.election.enable" ]

Unsupported stream config properties

When creating a stream-config you can pass kafka properties to fine-tuning your use case.

We do not support all kafka properties available for a TopicConfig, in case you are passing an unsupported kafka property we return an error.

Curl request

$ curl 'http://api.example.com/stream_configs' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "stream" : "http://api.example.com/streams/a532f500d879419fff5efa5d3cada7b3",
  "environment" : "http://api.example.com/environments/e11ee2dd976647109ca904dd8adc050f",
  "properties" : {
    "cleanup.policy" : "COMPACT",
    "follower.replication.throttled.replicas" : "",
    "leader.replication.throttled.replicas" : "",
    "max.message.bytes" : 1048588,
    "message.format.version" : "2.6-IV0",
    "preallocate" : "false"
  }
}'

HTTP request

POST /stream_configs HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 437
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "stream" : "http://api.example.com/streams/a532f500d879419fff5efa5d3cada7b3",
  "environment" : "http://api.example.com/environments/e11ee2dd976647109ca904dd8adc050f",
  "properties" : {
    "cleanup.policy" : "COMPACT",
    "follower.replication.throttled.replicas" : "",
    "leader.replication.throttled.replicas" : "",
    "max.message.bytes" : 1048588,
    "message.format.version" : "2.6-IV0",
    "preallocate" : "false"
  }
}

HTTP response

HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 582

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Found an unsupported property." ],
  "subErrors" : [ {
    "field" : "StreamConfig.properties",
    "rejectedValue" : {
      "cleanup.policy" : "COMPACT",
      "follower.replication.throttled.replicas" : "",
      "leader.replication.throttled.replicas" : "",
      "max.message.bytes" : "1048588",
      "message.format.version" : "2.6-IV0",
      "preallocate" : "false",
      "segment.ms" : "172800000"
    },
    "recommendedValues" : null,
    "errors" : [ "Found an unsupported property." ]
  } ]
}

Create stream config endpoints

Creating stream config is a two-step process a GET request to check the constraints followed by the CREATE request

Create stream config constraints

A GET request is used to get the constraints for creating StreamConfig.

$ curl 'http://api.example.com/streams/066f5944d16344f88c9214d240d139dc/create-constraints?envShortName=tenantaenv1' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /streams/066f5944d16344f88c9214d240d139dc/create-constraints?envShortName=tenantaenv1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 45

{
  "canCreate" : true,
  "waitTill" : null
}

Create stream config

A POST request is used to create a new StreamConfig. The request should include reference to a valid existing stream, key schema version and value schema version. The schema version should be of the same schema that is being used by the stream.

Request fields
Path Type Description Constraints

retentionTime

Number

The time in milliseconds after which the messages can be deleted from all streams. This is an optional field. If not specified, default value is 7 days (604800000).

Must be at least 1000. Must be at most 160704000000

partitions

Number

Defines the number of partitions configured for every stream of this tenant. This is an optional field. If not specified, default value is 12.

Must be at least 1. Must be at most 120000

stream

String

A valid URI of an existing stream.

Must not be null

environment

String

A valid URI of an existing environment.

Must not be null

keySchemaVersion

String

A valid URI of an existing schema version.

valueSchemaVersion

String

A valid URI of an existing schema version

properties

Object

A list of Kafka specific properties in Key,Value format.

Curl request
$ curl 'http://api.example.com/stream_configs' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "retentionTime" : 10000,
  "partitions" : 12,
  "stream" : "http://api.example.com/streams/a549f500d879419c9f5efa5d3cada7b3",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "keySchemaVersion" : "http://api.example.com/schema_versions/5162f72742cd4c6db07b9a71a825fe4f",
  "valueSchemaVersion" : "http://api.example.com/schema_versions/0aa818df699847d08c24f75a4a7399ed",
  "properties" : {
    "max.compaction.lag.ms" : "60000"
  }
}'
HTTP request
POST /stream_configs HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 480
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "retentionTime" : 10000,
  "partitions" : 12,
  "stream" : "http://api.example.com/streams/a549f500d879419c9f5efa5d3cada7b3",
  "environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
  "keySchemaVersion" : "http://api.example.com/schema_versions/5162f72742cd4c6db07b9a71a825fe4f",
  "valueSchemaVersion" : "http://api.example.com/schema_versions/0aa818df699847d08c24f75a4a7399ed",
  "properties" : {
    "max.compaction.lag.ms" : "60000"
  }
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:40:35 GMT
Location: http://api.example.com/stream_configs/c1a52ea387a34e6d998db96b6cd33e76
Content-Type: application/hal+json
Content-Length: 4481

{
  "properties" : {
    "max.compaction.lag.ms" : "60000",
    "segment.ms" : "172800000"
  },
  "retentionTime" : 10000,
  "partitions" : 12,
  "uid" : "c1a52ea387a34e6d998db96b6cd33e76",
  "created_at" : "2024-04-10T14:40:35.649687502",
  "modified_at" : "2024-04-10T14:40:35.649687502",
  "created_by" : "streamowner@tenanta.nl",
  "modified_by" : "streamowner@tenanta.nl",
  "_embedded" : {
    "environment" : {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "stream" : {
      "name" : "tenanta-stream2",
      "properties" : { },
      "description" : "description",
      "owners" : {
        "name" : "Stream-tenAApplication2",
        "emailAddress" : null,
        "phoneNumber" : null,
        "properties" : { },
        "uid" : "88eb98e0eff34fde923c15687e6d75d5",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : {
        "level" : "L2",
        "description" : "This is level 2",
        "color" : "yellow",
        "uid" : "247ab03ffafe4da2bet905b5e352ab53",
        "created_at" : "2019-06-08T23:16:23",
        "modified_at" : "2019-06-08T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "confidentiality" : {
        "level" : "L2",
        "description" : "L2 confidentiality",
        "color" : "blue",
        "uid" : "648ab08009fe4da8be6905b55552ac43",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : "2018-06-07T23:16:23",
        "created_by" : null,
        "modified_by" : null
      },
      "retentionPolicy" : "delete",
      "uid" : "a549f500d879419c9f5efa5d3cada7b3",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "streamConfig" : {
      "href" : "...",
      "title" : "A configuration of a stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "valueSchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for value"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "keySchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for key"
    }
  }
}

Retrieve a stream config

The stream_configs/{id} resource is used to retrieve, update and delete individual stream config.

A GET request will retrieve the details of a StreamConfig.

HTTP request

GET /stream_configs/c082e097545948dcbd0cf993128d3fc2 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 3883

{
  "properties" : {
    "segment.ms" : "696969"
  },
  "retentionTime" : 10000,
  "partitions" : 12,
  "uid" : "c082e097545948dcbd0cf993128d3fc2",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "environment" : {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "stream" : {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "streamConfig" : {
      "href" : "...",
      "title" : "A configuration of a stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "valueSchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for value"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "keySchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for key"
    }
  }
}
Relation Description

edit

Existence of this link indicates that the currently authenticated user can edit this StreamConfig

delete

Existence of this link indicates that the currently authenticated user can delete this StreamConfig

Update a stream config

A PATCH request is used to update a stream config. In the request, pass only the field that needs changing.

$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "retentionTime" : 40000
}'
PATCH /stream_configs/c082e097545948dcbd0cf993128d3fc2 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 29
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "retentionTime" : 40000
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 3883

{
  "properties" : {
    "segment.ms" : "696969"
  },
  "retentionTime" : 40000,
  "partitions" : 12,
  "uid" : "c082e097545948dcbd0cf993128d3fc2",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "environment" : {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "stream" : {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "streamConfig" : {
      "href" : "...",
      "title" : "A configuration of a stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "valueSchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for value"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "keySchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for key"
    }
  }
}

Force a stream config

When you want to update a stream config with an incompatible schema change you need to force it. A PATCH request is used to force a stream config. In the request, pass only the field that needs changing and the field force=true.

$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "keySchemaVersion" : "http://api.example.com/schema_versions/5322f72742cd4c6db07b9a71a825fe4f",
  "force" : true
}'
PATCH /stream_configs/c082e097545948dcbd0cf993128d3fc2 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 118
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "keySchemaVersion" : "http://api.example.com/schema_versions/5322f72742cd4c6db07b9a71a825fe4f",
  "force" : true
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 3883

{
  "properties" : {
    "segment.ms" : "696969"
  },
  "retentionTime" : 10000,
  "partitions" : 12,
  "uid" : "c082e097545948dcbd0cf993128d3fc2",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_embedded" : {
    "environment" : {
      "name" : "tenantaenv1",
      "description" : "environment",
      "shortName" : "tenantaenv1",
      "visibility" : "public",
      "color" : "#80affe",
      "uid" : "047ab08009fe4da8be6905b55552ab52",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "instance" : {
          "href" : "...",
          "templated" : true,
          "title" : "An instance"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    },
    "stream" : {
      "name" : "tenanta-stream1",
      "properties" : {
        "key-1" : "696969",
        "key-3" : "696969",
        "key-2" : "60000"
      },
      "description" : "description_tenanta-stream1",
      "owners" : {
        "name" : "Stream-tenAApplication1",
        "emailAddress" : null,
        "phoneNumber" : "abc789964",
        "properties" : { },
        "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
        "created_at" : "2018-06-07T23:16:23",
        "modified_at" : null,
        "created_by" : null,
        "modified_by" : null
      },
      "integrity" : null,
      "confidentiality" : null,
      "retentionPolicy" : "delete",
      "uid" : "066f5944d16344f88c9214d240d139dc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "strauthor@tenanta.nl",
      "modified_by" : "strauthor@tenanta.nl",
      "_links" : {
        "valueSchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for value"
        },
        "keySchema" : {
          "href" : "...",
          "templated" : true,
          "title" : "The AVRO schema configured for key"
        },
        "integrity" : {
          "href" : "...",
          "templated" : true,
          "title" : "The integrity configured for the object"
        },
        "owners" : {
          "href" : "...",
          "templated" : true,
          "title" : "The group responsible for this object"
        },
        "confidentiality" : {
          "href" : "...",
          "templated" : true,
          "title" : "The confidentiality configured for the object"
        },
        "self" : {
          "href" : "...",
          "templated" : true,
          "title" : "URI pointing to current request"
        }
      }
    }
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "streamConfig" : {
      "href" : "...",
      "title" : "A configuration of a stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    },
    "valueSchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for value"
    },
    "environment" : {
      "href" : "...",
      "templated" : true,
      "title" : "An environment"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "keySchemaVersion" : {
      "href" : "...",
      "templated" : true,
      "title" : "A version of an AVRO schema configured for key"
    }
  }
}

Delete stream config endpoints

Deleting stream config is a two step process a GET request to check the constraints followed by the DELETE request

Delete stream config constraints

A GET request is used to get the constraints for deleting StreamConfig.

$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2/deletion-constraints' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
GET /stream_configs/c082e097545948dcbd0cf993128d3fc2/deletion-constraints HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 51

{
  "activeGrantsCount" : 0,
  "canDelete" : true
}

Delete stream config

A DELETE request is used to delete a stream config.

$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'
DELETE /stream_configs/c082e097545948dcbd0cf993128d3fc2 HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

StreamConfig search endpoints

/stream_configs/search/findByStream

Returns all stream configs for given Stream.

Parameter Description

stream

A valid URI of an existing Stream

GET /stream_configs/search/findByStream?stream=http%3A%2F%2Flocalhost%2Fstreams%2F066f5944d16344f88c9214d240d139dc HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 35722

{
  "_embedded" : {
    "stream_configs" : [ {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "1e9ee6ce053c46b0932358c8503a2686",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv2",
          "description" : "environment",
          "shortName" : "tenantaenv2",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e11ee2dd976647109ca904dd8adc050f",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "264821e7c2234358989e766dbfbbb4bc",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_revoked_app_access_only",
          "description" : "environment with just revoked app_access configured",
          "shortName" : "tenantaenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3b7963da58d7445bbf7a900782713069",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "2f9ee6ce053c46b0932358c8503a2697",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaprivenv3",
          "description" : "environment",
          "shortName" : "tenantaprivenv3",
          "visibility" : "private",
          "color" : "#80affe",
          "uid" : "72c1b34b0c6744dcadb85f4c188518f6",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "78b237531a614ddda15bf13737defb7d",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv10",
          "description" : "environment",
          "shortName" : "tenantaenv10",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "3gr4e2046dad49468e0848571982a4b8",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "b842e097545948dcbd0cf993128d3fc2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv7_with_app_access_only",
          "description" : "environment with just app_access configured",
          "shortName" : "tenantaenv7",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "48dd87236ec445138330adb1a8a79f7e",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : {
        "segment.ms" : "696969"
      },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "c082e097545948dcbd0cf993128d3fc2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "eab92b9s6c4c44b49be1a9fe28ca7463",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv9_with_app_principal_and_credential",
          "description" : "environment with app access and grant configured",
          "shortName" : "tenantapublicenv9",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "73f73e918d49430fbf1d8cc7494d24d4",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    }, {
      "properties" : { },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "eab92b9s6c4c44b49be1a9fe28cs67gh",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv6_with_app_principal",
          "description" : "environment with just app_principal configured",
          "shortName" : "tenantaenv6",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "e26e0006c5504351a58e3181066cf56a",
          "created_at" : "2021-06-07T23:16:23",
          "modified_at" : "2021-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/stream_configs/search/findByEnvironment

Returns configurations of all available streams for given Environment.

Parameter Description

environment

A valid URI of an existing Environment

GET /stream_configs/search/findByEnvironment?environment=http%3A%2F%2Flocalhost%2Fenvironments%2F156ab08009fe4da96e6905b55552ab63 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 165

{
  "_embedded" : {
    "stream_configs" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

/stream_configs/search/findByStreamAndEnvironment

Returns the configuration of the given Stream for given Environment.

Parameter Description

stream

A valid URI of an existing Stream

environment

A valid URI of an existing Environment

GET /stream_configs/search/findByStreamAndEnvironment?stream=http%3A%2F%2Flocalhost%2Fstreams%2F066f5944d16344f88c9214d240d139dc&environment=http%3A%2F%2Flocalhost%2Fenvironments%2F047ab08009fe4da8be6905b55552ab52 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4692

{
  "_embedded" : {
    "stream_configs" : [ {
      "properties" : {
        "segment.ms" : "696969"
      },
      "retentionTime" : 10000,
      "partitions" : 12,
      "uid" : "c082e097545948dcbd0cf993128d3fc2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "environment" : {
          "name" : "tenantaenv1",
          "description" : "environment",
          "shortName" : "tenantaenv1",
          "visibility" : "public",
          "color" : "#80affe",
          "uid" : "047ab08009fe4da8be6905b55552ab52",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "instance" : {
              "href" : "...",
              "templated" : true,
              "title" : "An instance"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        },
        "stream" : {
          "name" : "tenanta-stream1",
          "properties" : {
            "key-1" : "696969",
            "key-3" : "696969",
            "key-2" : "60000"
          },
          "description" : "description_tenanta-stream1",
          "owners" : {
            "name" : "Stream-tenAApplication1",
            "emailAddress" : null,
            "phoneNumber" : "abc789964",
            "properties" : { },
            "uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
            "created_at" : "2018-06-07T23:16:23",
            "modified_at" : null,
            "created_by" : null,
            "modified_by" : null
          },
          "integrity" : null,
          "confidentiality" : null,
          "retentionPolicy" : "delete",
          "uid" : "066f5944d16344f88c9214d240d139dc",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : "strauthor@tenanta.nl",
          "modified_by" : "strauthor@tenanta.nl",
          "_links" : {
            "valueSchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for value"
            },
            "keySchema" : {
              "href" : "...",
              "templated" : true,
              "title" : "The AVRO schema configured for key"
            },
            "integrity" : {
              "href" : "...",
              "templated" : true,
              "title" : "The integrity configured for the object"
            },
            "owners" : {
              "href" : "...",
              "templated" : true,
              "title" : "The group responsible for this object"
            },
            "confidentiality" : {
              "href" : "...",
              "templated" : true,
              "title" : "The confidentiality configured for the object"
            },
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "streamConfig" : {
          "href" : "...",
          "title" : "A configuration of a stream"
        },
        "edit" : {
          "href" : "...",
          "title" : "Indication that this entity can be edited"
        },
        "delete" : {
          "href" : "...",
          "title" : "Indication that this entity can be deleted"
        },
        "valueSchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for value"
        },
        "environment" : {
          "href" : "...",
          "templated" : true,
          "title" : "An environment"
        },
        "stream" : {
          "href" : "...",
          "templated" : true,
          "title" : "A stream"
        },
        "keySchemaVersion" : {
          "href" : "...",
          "templated" : true,
          "title" : "A version of an AVRO schema configured for key"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "createStreamConfig" : {
      "href" : "...",
      "templated" : true
    }
  }
}

StreamConfig Browse Permission Group

Grant browse permission to users

A POST request is used to grant browse permission to users. The users added to a stream’s permission group will get access to browse the given stream anymore.

This request is only allowed to Stream Owner of the stream.

Curl request
$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2/permissions' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "type" : "browse",
  "users" : [ "dc67596abe224691a363a230ca1e291e" ]
}'
HTTP request
POST /stream_configs/c082e097545948dcbd0cf993128d3fc2/permissions HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 75
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "type" : "browse",
  "users" : [ "dc67596abe224691a363a230ca1e291e" ]
}
HTTP response
HTTP/1.1 204 No Content
Attempting to grant browse permission for an Instance with granularBrowsePermissions=false

In case the Instance used by the Stream-Config has granularBrowsePermissions=false, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 158

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Granular Browse Permission is disabled for this instance" ],
  "subErrors" : null
}
Attempting to grant browse permission for a PRIVATE or AUTO environment

In case the Environment used by the Stream-Config has visibility=PRIVATE or authorizationIssuer=AUTO, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 234

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Permission groups are only supported for public environments or environments with the authorization issuer set to ‘stream owner’" ],
  "subErrors" : null
}
Attempting to grant not-browse permission

In case the type of the grant present in the request is not browse, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 145

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Unsupported permission group type specified" ],
  "subErrors" : null
}
Attempting to grant browse permission for self

In case the users present in the request contains the stream owner requesting the grant, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 155

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Logged in user can not be added to a permission group" ],
  "subErrors" : null
}
Attempting to grant browse permission for invalid users

In case the users present in the request are not valid, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 129

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Non existing user specified" ],
  "subErrors" : null
}

Revoke browse permission to users

A DELETE request is used to revoke browse permission to users. The users revoked from a stream’s permission group won’t get access to browse the given stream anymore.

This request is only allowed to Stream Owner of the stream.

Curl request
$ curl 'http://api.example.com/stream_configs/c082e097545948dcbd0cf993128d3fc2/permissions' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "type" : "browse",
  "users" : [ "dc67596abe224691a363a230ca1e291e" ]
}'
HTTP request
DELETE /stream_configs/c082e097545948dcbd0cf993128d3fc2/permissions HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 75
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "type" : "browse",
  "users" : [ "dc67596abe224691a363a230ca1e291e" ]
}
HTTP response
HTTP/1.1 204 No Content
Attempting to revoke browse permission for an Instance with granularBrowsePermissions=false

In case the Instance used by the Stream-Config has granularBrowsePermissions=false, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 158

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Granular Browse Permission is disabled for this instance" ],
  "subErrors" : null
}
Attempting to revoke browse permission for a PRIVATE or AUTO environment

In case the Environment used by the Stream-Config has visibility=PRIVATE or authorizationIssuer=AUTO, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 234

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Permission groups are only supported for public environments or environments with the authorization issuer set to ‘stream owner’" ],
  "subErrors" : null
}
Attempting to revoke browse permission for invalid users

In case the users present in the request are not valid, we return 400 Bad Request

HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 129

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Non existing user specified" ],
  "subErrors" : null
}

Get users from permission group

A GET request is used only by STREAM_OWNERS to get users from permission group.

HTTP request
GET /stream_configs/c082e097545948dcbd0cf993128d3fc2/permissions?type=BROWSE HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 435

[ {
  "firstName" : "tenAdmin",
  "emailAddress" : {
    "email" : "tenadmin@tenanta.nl"
  },
  "lastName" : "TenantA",
  "uid" : "ea0e7f147df84179a151bdc21f5bb813",
  "middleName" : "middleName",
  "phoneNumber" : null
}, {
  "firstName" : "regular",
  "emailAddress" : {
    "email" : "regularuser@tenanta.nl"
  },
  "lastName" : "user",
  "uid" : "dc67596abe224691a363a230ca1e291e",
  "middleName" : null,
  "phoneNumber" : null
} ]
Attempting to get browse permission users with invalid type

In case the type of the grant present in the request is not browse, we return 400 Bad Request

HTTP request
GET /stream_configs/c082e097545948dcbd0cf993128d3fc2/permissions?type=xxx HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 145

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Unsupported permission group type specified" ],
  "subErrors" : null
}
Attempting to get browse permission users for an Instance with granularBrowsePermissions=false

In case the Instance used by the Stream-Config has granularBrowsePermissions=false, we return 400 Bad Request

HTTP request
GET /stream_configs/3f9ee6ce053c46b0932358c8503a2687/permissions?type=BROWSE HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 158

{
  "status" : "BAD_REQUEST",
  "message" : "Bad request",
  "errors" : [ "Granular Browse Permission is disabled for this instance" ],
  "subErrors" : null
}

Import Kafka Topics into Self-Service

The endpoint /changes/streams is used to list kafka topics that are not available in Self-Service but are present in the Kafka cluster, so that user can import them to use Self-Service features.

Any authenticated user with role TENANT_ADMIN is allowed to perform this action on its own tenant.

List All Missing Kafka Topics

A GET request will list all the missing Kafka topics in Self-Service.

The string is representing the stream-name without any topic-pattern resolution.

Curl request

$ curl 'http://api.example.com/changes/streams' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenantb'

HTTP request

GET /changes/streams HTTP/1.1
Authorization: Bearer token
realm: tenantb
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 40

[ "tenantb-stream2", "tenantb-stream3" ]

Get Kafka Topics Details

A GET request will show the details of a missing Kafka topic (configuration, number of partitions, ACLs).

The input string is representing the stream-name without any topic-pattern resolution. The name is representing the stream-name with the topic-pattern resolution.

Curl request

$ curl 'http://api.example.com/changes/streams/tenantb-stream2?environment=tenantbenv1' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenantb'

HTTP request

GET /changes/streams/tenantb-stream2?environment=tenantbenv1 HTTP/1.1
Authorization: Bearer token
realm: tenantb
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1632

{
  "name" : "tenantb-tenantbenv1-tenantb-stream3",
  "config" : {
    "cleanup.policy" : "delete",
    "min.insync.replicas" : "1",
    "retention.ms" : "86400000",
    "segment.ms" : "60000",
    "max.compaction.lag.ms" : "60000"
  },
  "size" : 0,
  "partitions" : [ {
    "partition" : 0,
    "begin" : 25,
    "end" : 25,
    "size" : 0,
    "replicas" : [ 0 ],
    "isr" : [ 0 ]
  }, {
    "partition" : 1,
    "begin" : 40,
    "end" : 40,
    "size" : 0,
    "replicas" : [ 0 ],
    "isr" : [ 0 ]
  } ],
  "acls" : [ {
    "principal" : {
      "type" : "User",
      "name" : "[0] CN=Axual Dummy Root 2018, [1] CN=Axual Dummy Intermediate 2018 01, [2] CN=Example Producer,O=Axual B.V.,L=Utrecht,C=NL"
    },
    "permissionType" : "ALLOW",
    "host" : "*",
    "operation" : "WRITE"
  }, {
    "principal" : {
      "type" : "User",
      "name" : "[0] CN=Axual Dummy Root 2018, [1] CN=Axual Dummy Intermediate 2018 01, [2] CN=Example Producer,O=Axual B.V.,L=Utrecht,C=NL"
    },
    "permissionType" : "ALLOW",
    "host" : "*",
    "operation" : "READ"
  }, {
    "principal" : {
      "type" : "User",
      "name" : "[0] CN=Axual Dummy Root 2018, [1] CN=Axual Dummy Intermediate 2018 01, [2] CN=Example Producer,O=Axual B.V.,L=Utrecht,C=NL"
    },
    "permissionType" : "ALLOW",
    "host" : "*",
    "operation" : "DESCRIBE_CONFIGS"
  }, {
    "principal" : {
      "type" : "User",
      "name" : "[0] CN=Axual Dummy Root 2018, [1] CN=Axual Dummy Intermediate 2018 01, [2] CN=Example Producer,O=Axual B.V.,L=Utrecht,C=NL"
    },
    "permissionType" : "ALLOW",
    "host" : "*",
    "operation" : "DESCRIBE"
  } ]
}

Import a Missing Kafka Topic

A POST request is used to import an existing Kafka topic into Self-Service.

Currently, we are only supporting importing STRING/STRING topics; this means the imported stream resource will have keyType=STRING and valueType=STRING.

The input string is representing the stream-name without any topic-pattern resolution.

Request fields

Path Type Description Constraints

environmentShortName

String

A short name identifying an existing environment

ownerName

String

A name identifying an existing group

Curl request

$ curl 'http://api.example.com/changes/streams/tenantb-stream2' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenantb' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "environmentShortName" : "tenantbenv1",
  "ownerName" : "Scout XXX"
}'

HTTP request

POST /changes/streams/tenantb-stream2 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenantb
Content-Length: 73
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "environmentShortName" : "tenantbenv1",
  "ownerName" : "Scout XXX"
}

HTTP response

HTTP/1.1 201 Created
Location: http://api.example.com/stream_configs/f1ccd8f88ed54b1e9e3e8d7d8bfd7ad0
Content-Type: application/hal+json
Content-Length: 793

{
  "properties" : {
    "max.compaction.lag.ms" : "60000",
    "segment.ms" : "60000"
  },
  "retentionTime" : 86400000,
  "partitions" : 2,
  "uid" : "f1ccd8f88ed54b1e9e3e8d7d8bfd7ad0",
  "created_at" : "2024-04-10T14:41:05.059778724",
  "modified_at" : "2024-04-10T14:41:05.059778724",
  "created_by" : "tenadmin@tenantb.nl",
  "modified_by" : "tenadmin@tenantb.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "stream" : {
      "href" : "...",
      "templated" : true,
      "title" : "A stream"
    },
    "edit" : {
      "href" : "...",
      "title" : "Indication that this entity can be edited"
    },
    "delete" : {
      "href" : "...",
      "title" : "Indication that this entity can be deleted"
    }
  }
}

Attempting to import not a missing Kafka Topic

In case the stream-name used in the request path is resolving to an existing stream-config, we return 400 Bad Request

Curl request
$ curl 'http://api.example.com/changes/streams/tenantb-stream1' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenantb' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "environmentShortName" : "tenantbenv1",
  "ownerName" : "Scout XXX"
}'
HTTP request
POST /changes/streams/tenantb-stream1 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenantb
Content-Length: 73
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "environmentShortName" : "tenantbenv1",
  "ownerName" : "Scout XXX"
}
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 370

{
  "status" : "BAD_REQUEST",
  "message" : "Provided stream-name is not missing from the Self-Service.",
  "errors" : [ "Provided stream-name is not missing from the Self-Service." ],
  "subErrors" : [ {
    "field" : "Provided stream-name is not missing from the Self-Service.",
    "rejectedValue" : null,
    "recommendedValues" : null,
    "errors" : [ "" ]
  } ]
}

Schemas

A Schema is an AVRO definition formatted in JSON. Schemas are used by Streams of data type AVRO.

The schemas resource is used to create and list Schemas.

JSON Schema

The schemas resource uses the following json-schema:

GET /profile/schemas HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 941

{
  "title" : "Schema",
  "properties" : {
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "name" : {
      "title" : "Name",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "description" : {
      "title" : "Description",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all schemas

A GET request will list all the Schemas visible to the currently logged in user.

Curl request

$ curl 'http://api.example.com/schemas' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /schemas HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4742

{
  "_embedded" : {
    "schemas" : [ {
      "name" : "nl.tenanta.key-schema1",
      "description" : "",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "io.axual.qa.general.Random",
      "description" : "Demo schema",
      "uid" : "858d48056942069a916a8053e138s2e4",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema1",
      "description" : "",
      "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema2",
      "description" : "",
      "uid" : "a32ead9183734d838e32c8454af9f3f5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema3",
      "description" : "Tenanta schema 3",
      "uid" : "b58073b2caeb4474aa3c6e8c269d919e",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema2",
      "description" : "",
      "uid" : "dae551f956af48c1baa53281b5edca00",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema-without-version",
      "description" : "",
      "uid" : "e23dad9183734d838e32c8454af9f3f5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema-without-version",
      "description" : "",
      "uid" : "pay651f956af48c1baa53281b5edca00",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 8,
    "totalPages" : 1,
    "number" : 0
  }
}

List all schema names only

Sometimes, fetching the schema names might be sufficient instead of fetching the complete object. For e.g. in displaying drop-down forms. To get schema names only, use the same GET call as above but add a parameter projection with value names.

Query parameters

Parameter Description

projection

There is only 1 valid value: names

Curl request

$ curl 'http://api.example.com/schemas?projection=names' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /schemas?projection=names HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 4507

{
  "_embedded" : {
    "schemas" : [ {
      "name" : "nl.tenanta.key-schema1",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "io.axual.qa.general.Random",
      "uid" : "858d48056942069a916a8053e138s2e4",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema1",
      "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema2",
      "uid" : "a32ead9183734d838e32c8454af9f3f5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema3",
      "uid" : "b58073b2caeb4474aa3c6e8c269d919e",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema2",
      "uid" : "dae551f956af48c1baa53281b5edca00",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema-without-version",
      "uid" : "e23dad9183734d838e32c8454af9f3f5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema-without-version",
      "uid" : "pay651f956af48c1baa53281b5edca00",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 8,
    "totalPages" : 1,
    "number" : 0
  }
}

List all schemas with the latest schema versions

A GET request will list all schemas with the latest schema versions for every schema visible to the currently logged in user.

Curl request

$ curl 'http://api.example.com/schemas/getAllWithLatestSchemaVersion' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /schemas/getAllWithLatestSchemaVersion HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2804

[ {
  "schemaUid" : "4edccfd6aa744e698542da36f1f01114",
  "schemaName" : "nl.tenanta.key-schema1",
  "latestSchemaVersionUid" : "b5c0a6b2fdd94d64925fd2fadb367f2d",
  "latestSchemaVersion" : "v2",
  "latestSchemaVersionBody" : "schemaBody",
  "latestSchemaVersionCreatedAt" : "2018-06-07T23:16:23",
  "latestSchemaVersionCreatedByFullName" : "tenAdmin middleName TenantA"
}, {
  "schemaUid" : "858d48056942069a916a8053e138s2e4",
  "schemaName" : "io.axual.qa.general.Random",
  "latestSchemaVersionUid" : "858d48056942069b916a8053e138s2f6",
  "latestSchemaVersion" : "0.0.1",
  "latestSchemaVersionBody" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The random value.\"}]}",
  "latestSchemaVersionCreatedAt" : "2018-09-20T00:00:00",
  "latestSchemaVersionCreatedByFullName" : "tenAdmin middleName TenantA"
}, {
  "schemaUid" : "8bc19be0c9cd4da296acd78e6022edf1",
  "schemaName" : "nl.tenanta.value-schema1",
  "latestSchemaVersionUid" : "c633a9d3badb4fa0861965246be645a2",
  "latestSchemaVersion" : "v2",
  "latestSchemaVersionBody" : "schemaBody1",
  "latestSchemaVersionCreatedAt" : "2018-06-07T23:16:23",
  "latestSchemaVersionCreatedByFullName" : "tenAdmin middleName TenantA"
}, {
  "schemaUid" : "a32ead9183734d838e32c8454af9f3f5",
  "schemaName" : "nl.tenanta.key-schema2",
  "latestSchemaVersionUid" : "8152f72742cd4c6db07b9a71a825fe4f",
  "latestSchemaVersion" : "v2",
  "latestSchemaVersionBody" : "schemaBody",
  "latestSchemaVersionCreatedAt" : "2018-06-07T23:16:23",
  "latestSchemaVersionCreatedByFullName" : "tenAdmin middleName TenantA"
}, {
  "schemaUid" : "b58073b2caeb4474aa3c6e8c269d919e",
  "schemaName" : "nl.tenanta.key-schema3",
  "latestSchemaVersionUid" : "659d8cc539c743ec8c052700dae3a081",
  "latestSchemaVersion" : "0.0.1",
  "latestSchemaVersionBody" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The random value.\"}]}",
  "latestSchemaVersionCreatedAt" : "2018-09-20T00:00:00",
  "latestSchemaVersionCreatedByFullName" : "tenAdmin middleName TenantA"
}, {
  "schemaUid" : "dae551f956af48c1baa53281b5edca00",
  "schemaName" : "nl.tenanta.value-schema2",
  "latestSchemaVersionUid" : "0aa818df699847d08c24f75a4a7399ed",
  "latestSchemaVersion" : "v1",
  "latestSchemaVersionBody" : "schemaBody1",
  "latestSchemaVersionCreatedAt" : "2018-06-07T23:16:23",
  "latestSchemaVersionCreatedByFullName" : "tenAdmin middleName TenantA"
} ]

List all schema versions of a schema

A GET request will list all schema versions of a schema visible to the currently logged-in user.

Curl request

$ curl 'http://api.example.com/schemas/4edccfd6aa744e698542da36f1f01114/schema-versions' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'

HTTP request

GET /schemas/4edccfd6aa744e698542da36f1f01114/schema-versions HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 363

[ {
  "schemaVersion" : "v2.1",
  "schemaVersionUid" : "5322f72742cd4c6db07b9a71a825fe4f"
}, {
  "schemaVersion" : "v2",
  "schemaVersionUid" : "b5c0a6b2fdd94d64925fd2fadb367f2d"
}, {
  "schemaVersion" : "v1.02",
  "schemaVersionUid" : "b5c0a6b2fdd94d64925fd2fadb367892"
}, {
  "schemaVersion" : "v1",
  "schemaVersionUid" : "b5c0a6b2fdd94d64925fd2fadb367891"
} ]

Create schema

A POST request is used to create a new schema. To create a new AVRO definition, refer to SchemaVersion.

Request fields

Path Type Description Constraints

name

String

A fully qualified Java classname of the Schema

Must match the regular expression (?i)^[a-z0-9\.\-_ ]+$. Must not be empty. Size must be between 3 and 255 inclusive

description

String

A short text describing the Schema

Size must be between 0 and 500 inclusive

Curl request

$ curl 'http://api.example.com/schemas' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "name" : "io.axual.aeb.test.Schema",
  "description" : "This is a test schema"
}'

HTTP request

POST /schemas HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 84
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "name" : "io.axual.aeb.test.Schema",
  "description" : "This is a test schema"
}

HTTP response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Wed, 10 Apr 2024 14:44:28 GMT
Location: http://api.example.com/schemas/39c44ac2ff1f4068a2b2baa8f2be5c40
Content-Type: application/hal+json
Content-Length: 526

{
  "name" : "io.axual.aeb.test.Schema",
  "description" : "This is a test schema",
  "uid" : "39c44ac2ff1f4068a2b2baa8f2be5c40",
  "created_at" : "2024-04-10T14:44:28.555009235",
  "modified_at" : "2024-04-10T14:44:28.555009235",
  "created_by" : "poweruser@tenanta.nl",
  "modified_by" : "poweruser@tenanta.nl",
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "schema" : {
      "href" : "...",
      "templated" : true,
      "title" : "A schema"
    }
  }
}

Retrieve a schema

The schemas/{id} resource is used to retrieve, update and delete individual schemas.

A GET request will retrieve the details of a schema.

HTTP request

GET /schemas/4edccfd6aa744e698542da36f1f01114 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 447

{
  "name" : "nl.tenanta.key-schema1",
  "description" : "",
  "uid" : "4edccfd6aa744e698542da36f1f01114",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "schema" : {
      "href" : "...",
      "templated" : true,
      "title" : "A schema"
    }
  }
}

Update a schema

A PATCH request is used to update a schema. In the request, pass only the field that needs changing.

$ curl 'http://api.example.com/schemas/4edccfd6aa744e698542da36f1f01114' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "description" : "Updated description."
}'
PATCH /schemas/4edccfd6aa744e698542da36f1f01114 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 44
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "description" : "Updated description."
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Content-Type: application/hal+json
Content-Length: 467

{
  "name" : "nl.tenanta.key-schema1",
  "description" : "Updated description.",
  "uid" : "4edccfd6aa744e698542da36f1f01114",
  "created_at" : "2018-06-07T23:16:23",
  "modified_at" : "2018-06-07T23:16:23",
  "created_by" : null,
  "modified_by" : null,
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "schema" : {
      "href" : "...",
      "templated" : true,
      "title" : "A schema"
    }
  }
}

Delete a schema

A DELETE request will delete the schema with the related schemaVersions.

HTTP request

DELETE /schemas/b58073b2caeb4474aa3c6e8c269d919e HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

HTTP response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

Schema search endpoints

/schemas/search/findByName

Search for a schema by exact name.

Parameter Description

name

Schema name to search for.

GET /schemas/search/findByName?name=nl.tenanta.key-schema1 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 781

{
  "_embedded" : {
    "schemas" : [ {
      "name" : "nl.tenanta.key-schema1",
      "description" : "",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

/schemas/search/findByNameContaining

Search for a schema by name containing search term.

Parameter Description

name

Term to search within schema name.

GET /schemas/search/findByNameContaining?name=tenanta HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 3983

{
  "_embedded" : {
    "schemas" : [ {
      "name" : "nl.tenanta.key-schema1",
      "description" : "",
      "uid" : "4edccfd6aa744e698542da36f1f01114",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema1",
      "description" : "",
      "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema2",
      "description" : "",
      "uid" : "a32ead9183734d838e32c8454af9f3f5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema3",
      "description" : "Tenanta schema 3",
      "uid" : "b58073b2caeb4474aa3c6e8c269d919e",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema2",
      "description" : "",
      "uid" : "dae551f956af48c1baa53281b5edca00",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.key-schema-without-version",
      "description" : "",
      "uid" : "e23dad9183734d838e32c8454af9f3f5",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "name" : "nl.tenanta.value-schema-without-version",
      "description" : "",
      "uid" : "pay651f956af48c1baa53281b5edca00",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 7,
    "totalPages" : 1,
    "number" : 0
  }
}

Upload schemas

Uploading a new schema for your tenant is a 2 steps process where first we verify if the schema is valid and does not exist yet. Then upload the schema.

Check a schema (Deprecated)

A POST request is used to check a schema.

Curl request
$ curl 'http://api.example.com/schemas/check' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "schema" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The Random value.\"}]}"
}'
HTTP request
POST /schemas/check HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 306
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "schema" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The Random value.\"}]}"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 441

{
  "versions" : [ "0.0.1" ],
  "fullName" : "io.axual.qa.general.Random",
  "schema" : "{\n  \"type\" : \"record\",\n  \"name\" : \"Random\",\n  \"namespace\" : \"io.axual.qa.general\",\n  \"doc\" : \"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\n  \"fields\" : [ {\n    \"name\" : \"random\",\n    \"type\" : \"string\",\n    \"doc\" : \"The Random value.\"\n  } ]\n}"
}

Check and Parse a schema

A POST request is used to check and parse a schema, it will return the parsed Schema as string.

Curl request
$ curl 'http://api.example.com/schemas/check-parse' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "schema" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The Random value.\"}]}"
}'
HTTP request
POST /schemas/check-parse HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 306
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "schema" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The Random value.\"}]}"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 441

{
  "versions" : [ "0.0.1" ],
  "fullName" : "io.axual.qa.general.Random",
  "schema" : "{\n  \"type\" : \"record\",\n  \"name\" : \"Random\",\n  \"namespace\" : \"io.axual.qa.general\",\n  \"doc\" : \"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\n  \"fields\" : [ {\n    \"name\" : \"random\",\n    \"type\" : \"string\",\n    \"doc\" : \"The Random value.\"\n  } ]\n}"
}

Upload a schema

A POST request is used to upload a schema.

Curl request
$ curl 'http://api.example.com/schemas/upload' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN' \
    -d '{
  "schema" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The Random value.\"}]}",
  "version" : "2",
  "description" : "description"
}'
HTTP request
POST /schemas/upload HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 358
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

{
  "schema" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The Random value.\"}]}",
  "version" : "2",
  "description" : "description"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 177

{
  "schemaUid" : "858d48056942069a916a8053e138s2e4",
  "schemaVersionUid" : "563a1c999a554dfe8956fe366e4db9c9",
  "fullName" : "io.axual.qa.general.Random",
  "version" : "2"
}

Schema Version

A Schema is an AVRO definition formatted in JSON. Schemas are used by Streams of data type AVRO.

The schemas resource is used to create and list Schemas.

JSON Schema

The schemas resource uses the following json-schema:

GET /profile/schema_versions HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/schema+json
Host: api.example.com
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/schema+json
Content-Length: 1078

{
  "title" : "Schema version",
  "properties" : {
    "schema" : {
      "title" : "Schema",
      "readOnly" : false,
      "type" : "string",
      "format" : "uri"
    },
    "uid" : {
      "title" : "Uid",
      "readOnly" : true,
      "type" : "string"
    },
    "schemaBody" : {
      "title" : "Schema body",
      "readOnly" : false,
      "type" : "string"
    },
    "modified_by" : {
      "title" : "Modified by",
      "readOnly" : false,
      "type" : "string"
    },
    "created_at" : {
      "title" : "Created at",
      "readOnly" : true,
      "type" : "string",
      "format" : "date-time"
    },
    "modified_at" : {
      "title" : "Modified at",
      "readOnly" : false,
      "type" : "string",
      "format" : "date-time"
    },
    "version" : {
      "title" : "Version",
      "readOnly" : false,
      "type" : "string"
    },
    "created_by" : {
      "title" : "Created by",
      "readOnly" : true,
      "type" : "string"
    }
  },
  "definitions" : { },
  "type" : "object",
  "$schema" : "http://json-schema.org/draft-04/schema#"
}

List all schema versions

A GET request will list all the schema versions visible to the currently logged in user.

Curl request

$ curl 'http://api.example.com/schema_versions' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /schema_versions HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 20972

{
  "_embedded" : {
    "schema_versions" : [ {
      "version" : "v1",
      "schemaBody" : "schemaBody1",
      "uid" : "0aa818df699847d08c24f75a4a7399ed",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.value-schema2",
          "description" : "",
          "uid" : "dae551f956af48c1baa53281b5edca00",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "0.0.2",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The random value.\"}]}",
      "uid" : "1b6f4c0e1aa74c7c874074c4852c9123",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema3",
          "description" : "Tenanta schema 3",
          "uid" : "b58073b2caeb4474aa3c6e8c269d919e",
          "created_at" : "2018-09-20T00:00:00",
          "modified_at" : "2018-09-20T00:00:00",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "schemaBody" : "schemaBody",
      "uid" : "5162f72742cd4c6db07b9a71a825fe4f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema2",
          "description" : "",
          "uid" : "a32ead9183734d838e32c8454af9f3f5",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2.1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Key\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Key.\",\"fields\":[{\"name\":\"keyName\",\"type\":\"string\",\"doc\":\"The Key.\"}]}",
      "uid" : "5322f72742cd4c6db07b9a71a825fe4f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "0.0.1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The random value.\"}]}",
      "uid" : "659d8cc539c743ec8c052700dae3a081",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema3",
          "description" : "Tenanta schema 3",
          "uid" : "b58073b2caeb4474aa3c6e8c269d919e",
          "created_at" : "2018-09-20T00:00:00",
          "modified_at" : "2018-09-20T00:00:00",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "schemaBody" : "schemaBody",
      "uid" : "8152f72742cd4c6db07b9a71a825fe4f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema2",
          "description" : "",
          "uid" : "a32ead9183734d838e32c8454af9f3f5",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "0.0.1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Random\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Random value. This should be used when the Key is irrelevant.\",\"fields\":[{\"name\":\"random\",\"type\":\"string\",\"doc\":\"The random value.\"}]}",
      "uid" : "858d48056942069b916a8053e138s2f6",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : "2018-09-20T00:00:00",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "io.axual.qa.general.Random",
          "description" : "Demo schema",
          "uid" : "858d48056942069a916a8053e138s2e4",
          "created_at" : "2018-09-20T00:00:00",
          "modified_at" : "2018-09-20T00:00:00",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "schemaBody" : "schemaBody1",
      "uid" : "9bb518df699847d08c24f75a4a7399ed",
      "created_at" : "2018-06-07T23:14:23",
      "modified_at" : "2018-06-07T23:14:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.value-schema2",
          "description" : "",
          "uid" : "dae551f956af48c1baa53281b5edca00",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "schemaBody" : "schemaBody1",
      "uid" : "ab51545971cd461c8c74250907bfac93",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenantb.value-schema1",
          "description" : "",
          "uid" : "af8f33ce859a47bd9a92fa3b052e7069",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Key\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Key.\",\"fields\":[{\"name\":\"key\",\"type\":\"string\",\"doc\":\"The Key.\"}]}",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367891",
      "created_at" : "2018-06-07T23:12:23",
      "modified_at" : "2018-06-07T23:12:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1.02",
      "schemaBody" : "schemaBody",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367892",
      "created_at" : "2018-06-07T23:14:24",
      "modified_at" : "2018-06-07T23:14:24",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "schemaBody" : "schemaBody",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367f2d",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "schemaBody" : "schemaBody",
      "uid" : "bb0f727f05dc4ce7aa32ec1ca1c90933",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : null,
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenantb.key-schema1",
          "description" : "",
          "uid" : "8e37406569d64f32bf7cfb837993dc77",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2.1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Value\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Value.\",\"fields\":[{\"name\":\"valueName\",\"type\":\"string\",\"doc\":\"The Value.\"}]}",
      "uid" : "c434a9d3b4db4fa0861965246be645a2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.value-schema1",
          "description" : "",
          "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Value\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Value.\",\"fields\":[{\"name\":\"value\",\"type\":\"string\",\"doc\":\"The Value.\"}]}",
      "uid" : "c633a9d3badb4fa0861965246be64558",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.value-schema1",
          "description" : "",
          "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "schemaBody" : "schemaBody1",
      "uid" : "c633a9d3badb4fa0861965246be645a2",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.value-schema1",
          "description" : "",
          "uid" : "8bc19be0c9cd4da296acd78e6022edf1",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 16,
    "totalPages" : 1,
    "number" : 0
  }
}

List all schema versions only

Sometimes, fetching the schema versions might be sufficient instead of fetching the complete object. For e.g. in displaying drop-down forms. To get schema versions only, use the same GET call as above but add a parameter projection with value versions. Last modified date is also included to help determine the latest version.

Query parameters

Parameter Description

projection

Only 1 valid value: versions

Curl request

$ curl 'http://api.example.com/schema_versions?projection=versions' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /schema_versions?projection=versions HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 8116

{
  "_embedded" : {
    "schema_versions" : [ {
      "version" : "v1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "0aa818df699847d08c24f75a4a7399ed",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "0.0.2",
      "modifiedAt" : "2018-09-20T00:00:00",
      "uid" : "1b6f4c0e1aa74c7c874074c4852c9123",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "5162f72742cd4c6db07b9a71a825fe4f",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2.1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "5322f72742cd4c6db07b9a71a825fe4f",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "0.0.1",
      "modifiedAt" : "2018-09-20T00:00:00",
      "uid" : "659d8cc539c743ec8c052700dae3a081",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "8152f72742cd4c6db07b9a71a825fe4f",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "0.0.1",
      "modifiedAt" : "2018-09-20T00:00:00",
      "uid" : "858d48056942069b916a8053e138s2f6",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "modifiedAt" : "2018-06-07T23:14:23",
      "uid" : "9bb518df699847d08c24f75a4a7399ed",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "ab51545971cd461c8c74250907bfac93",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "modifiedAt" : "2018-06-07T23:12:23",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367891",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1.02",
      "modifiedAt" : "2018-06-07T23:14:24",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367892",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367f2d",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "bb0f727f05dc4ce7aa32ec1ca1c90933",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2.1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "c434a9d3b4db4fa0861965246be645a2",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "c633a9d3badb4fa0861965246be64558",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "modifiedAt" : "2018-06-07T23:16:23",
      "uid" : "c633a9d3badb4fa0861965246be645a2",
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    },
    "search" : {
      "href" : "...",
      "title" : "Search endpoints for this entity"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 16,
    "totalPages" : 1,
    "number" : 0
  }
}

Retrieve a schema version

The /schema_versions/{id} resource is used to retrieve an individual schema version.

A GET request will retrieve the details of a schema.

HTTP request

GET /schema_versions/b5c0a6b2fdd94d64925fd2fadb367891 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 769

{
  "id" : "b5c0a6b2fdd94d64925fd2fadb367891",
  "version" : "v1",
  "schemaBody" : "{\"type\":\"record\",\"name\":\"Key\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Key.\",\"fields\":[{\"name\":\"key\",\"type\":\"string\",\"doc\":\"The Key.\"}]}",
  "schema" : {
    "id" : "4edccfd6aa744e698542da36f1f01114",
    "optLock" : 0,
    "name" : "nl.tenanta.key-schema1",
    "description" : "",
    "uid" : "4edccfd6aa744e698542da36f1f01114",
    "created_at" : "2018-06-07T23:16:23",
    "modified_at" : "2018-06-07T23:16:23",
    "created_by" : null,
    "modified_by" : null
  },
  "createdAt" : "2018-06-07T23:12:23",
  "modifiedAt" : "2018-06-07T23:12:23",
  "createdByFullName" : "tenAdmin middleName TenantA"
}

Schema Versions search endpoint

/schema_versions/search/findAllBySchema

Returns the schema versions of the given Schema.

Query parameters
Parameter Description

schema

A valid URI of an existing Schema

Curl request
$ curl 'http://api.example.com/schema_versions/search/findAllBySchema?schema=http%3A%2F%2Flocalhost%2Fschemas%2F4edccfd6aa744e698542da36f1f01114' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta'
HTTP request
GET /schema_versions/search/findAllBySchema?schema=http%3A%2F%2Flocalhost%2Fschemas%2F4edccfd6aa744e698542da36f1f01114 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 5276

{
  "_embedded" : {
    "schema_versions" : [ {
      "version" : "v2.1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Key\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Key.\",\"fields\":[{\"name\":\"keyName\",\"type\":\"string\",\"doc\":\"The Key.\"}]}",
      "uid" : "5322f72742cd4c6db07b9a71a825fe4f",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v2",
      "schemaBody" : "schemaBody",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367f2d",
      "created_at" : "2018-06-07T23:16:23",
      "modified_at" : "2018-06-07T23:16:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1.02",
      "schemaBody" : "schemaBody",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367892",
      "created_at" : "2018-06-07T23:14:24",
      "modified_at" : "2018-06-07T23:14:24",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    }, {
      "version" : "v1",
      "schemaBody" : "{\"type\":\"record\",\"name\":\"Key\",\"namespace\":\"io.axual.qa.general\",\"doc\":\"Object type that is supposed to be filled with a Key.\",\"fields\":[{\"name\":\"key\",\"type\":\"string\",\"doc\":\"The Key.\"}]}",
      "uid" : "b5c0a6b2fdd94d64925fd2fadb367891",
      "created_at" : "2018-06-07T23:12:23",
      "modified_at" : "2018-06-07T23:12:23",
      "created_by" : "tenadmin@tenanta.nl",
      "modified_by" : null,
      "_embedded" : {
        "schema" : {
          "name" : "nl.tenanta.key-schema1",
          "description" : "",
          "uid" : "4edccfd6aa744e698542da36f1f01114",
          "created_at" : "2018-06-07T23:16:23",
          "modified_at" : "2018-06-07T23:16:23",
          "created_by" : null,
          "modified_by" : null,
          "_links" : {
            "self" : {
              "href" : "...",
              "templated" : true,
              "title" : "URI pointing to current request"
            }
          }
        }
      },
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "schemaVersion" : {
          "href" : "...",
          "templated" : true
        },
        "schema" : {
          "href" : "...",
          "templated" : true,
          "title" : "A schema"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    }
  }
}

Delete a schema version

A DELETE request deletes the schema version. If the schema being deleted is the only version present and is not associated with any streams, then the schema itself will also be deleted.

Curl request

$ curl 'http://api.example.com/schema_versions/b5c0a6b2fdd94d64925fd2fadb367f2d' -i -X DELETE \
    -H 'X-XSRF-TOKEN: XSRF-TOKEN' \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    --cookie 'XSRF-TOKEN=XSRF-TOKEN'

HTTP request

DELETE /schema_versions/b5c0a6b2fdd94d64925fd2fadb367f2d HTTP/1.1
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN

HTTP response

HTTP/1.1 204 No Content

Support Tier

Support Tier can be assigned to instances and is used to determine the support plan chosen for the instance.

List all support tiers

A GET request will list all the support tiers.

Curl request

$ curl 'http://api.example.com/support_tiers' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /support_tiers HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1338

{
  "_embedded" : {
    "support_tiers" : [ {
      "name" : "GOLD",
      "description" : "This is gold",
      "uid" : "14cadc6238fc4695916a8053302743f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "supportTier" : {
          "href" : "...",
          "templated" : true
        }
      }
    }, {
      "name" : "SILVER",
      "description" : "This is silver",
      "uid" : "14cadc6238fc4695916a8053413843f5",
      "created_at" : "2018-09-20T00:00:00",
      "modified_at" : null,
      "created_by" : null,
      "modified_by" : null,
      "_links" : {
        "self" : {
          "href" : "...",
          "title" : "URI pointing to current request"
        },
        "supportTier" : {
          "href" : "...",
          "templated" : true
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "...",
      "title" : "URI pointing to current request"
    },
    "profile" : {
      "href" : "...",
      "title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

Usage

The Usage stats of all the tenants can be accessed .

View Usage

A GET request which will return the usage stats for all the tenants across instances. Only BILLING_INTERNAL user has access to this endpoint.

Curl request

$ curl 'http://api.example.com/usage' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /usage HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 3067

[ {
  "name" : "supertenant",
  "groups" : 1,
  "instance" : [ {
    "name" : "test",
    "streamConfigsCount" : 0,
    "supportTier" : "SILVER",
    "clustersNames" : [ "Limited BYOK cluster for cc" ]
  } ]
}, {
  "name" : "clntntcc",
  "groups" : 0,
  "instance" : [ ]
}, {
  "name" : "BYOKtenant",
  "groups" : 1,
  "instance" : [ {
    "name" : "BYOKAIVEN2",
    "streamConfigsCount" : 0,
    "supportTier" : "GOLD",
    "clustersNames" : [ "BYOK cluster for aiven" ]
  }, {
    "name" : "BYOKAIVEN",
    "streamConfigsCount" : 2,
    "supportTier" : "GOLD",
    "clustersNames" : [ "BYOK cluster for aiven" ]
  }, {
    "name" : "BYOKCC",
    "streamConfigsCount" : 1,
    "supportTier" : "GOLD",
    "clustersNames" : [ "BYOK cluster for cc" ]
  }, {
    "name" : "BYOKKAFKA",
    "streamConfigsCount" : 1,
    "supportTier" : "GOLD",
    "clustersNames" : [ "BYOK cluster for apache-kafka", "BYOK cluster for aiven" ]
  }, {
    "name" : "BYOKKAFKAReplica",
    "streamConfigsCount" : 1,
    "supportTier" : "GOLD",
    "clustersNames" : [ "BYOK replica2 for apache-kafka", "BYOK replica1 for apache-kafka" ]
  }, {
    "name" : "CCnoEnv",
    "streamConfigsCount" : 0,
    "supportTier" : "GOLD",
    "clustersNames" : [ "BYOK cluster for apache-kafka", "BYOK cluster for cc" ]
  } ]
}, {
  "name" : "LmtBYOKtnt",
  "groups" : 1,
  "instance" : [ {
    "name" : "LMTBYOKCC",
    "streamConfigsCount" : 1,
    "supportTier" : "GOLD",
    "clustersNames" : [ "Limited BYOK cluster for cc" ]
  } ]
}, {
  "name" : "clntnt",
  "groups" : 0,
  "instance" : [ ]
}, {
  "name" : "tenNoEnv",
  "groups" : 1,
  "instance" : [ {
    "name" : "BYOKAIVEN2",
    "streamConfigsCount" : 0,
    "supportTier" : "GOLD",
    "clustersNames" : [ "Cluster with no env" ]
  }, {
    "name" : "INSTDELETE",
    "streamConfigsCount" : 0,
    "supportTier" : "GOLD",
    "clustersNames" : [ ]
  } ]
}, {
  "name" : "tenantS",
  "groups" : 9,
  "instance" : [ {
    "name" : "ActiveSubs",
    "streamConfigsCount" : 0,
    "supportTier" : "GOLD",
    "clustersNames" : [ ]
  } ]
}, {
  "name" : "tenantSC",
  "groups" : 0,
  "instance" : [ ]
}, {
  "name" : "tenanta",
  "groups" : 10,
  "instance" : [ {
    "name" : "ota2",
    "streamConfigsCount" : 1,
    "supportTier" : "GOLD",
    "clustersNames" : [ "Zone2 Cluster OTA" ]
  }, {
    "name" : "ota",
    "streamConfigsCount" : 12,
    "supportTier" : "GOLD",
    "clustersNames" : [ "Zone1 Cluster OTA", "Zone2 Cluster OTA" ]
  }, {
    "name" : "prod",
    "streamConfigsCount" : 2,
    "supportTier" : "SILVER",
    "clustersNames" : [ "Zone1 Cluster PROD" ]
  }, {
    "name" : "lst",
    "streamConfigsCount" : 1,
    "supportTier" : "SILVER",
    "clustersNames" : [ "Zone2 Cluster OTA" ]
  } ]
}, {
  "name" : "tenantb",
  "groups" : 4,
  "instance" : [ {
    "name" : "prod",
    "streamConfigsCount" : 1,
    "supportTier" : "GOLD",
    "clustersNames" : [ "Zone2 Cluster PROD" ]
  }, {
    "name" : "ota",
    "streamConfigsCount" : 0,
    "supportTier" : null,
    "clustersNames" : [ "Zone2 Cluster LST" ]
  } ]
} ]

View Instance info

A GET request which will return the instance’s info for all the tenants. Only BILLING_INTERNAL user has access to this endpoint.

Curl request

$ curl 'http://api.example.com/usage/instances' -i -X GET \
    -H 'Authorization: Bearer token' \
    -H 'realm: tenanta' \
    -H 'Accept: application/hal+json'

HTTP request

GET /usage/instances HTTP/1.1
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Host: api.example.com

HTTP response

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2269

[ {
  "instanceShortName" : "BYOKAIVEN2",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "BYOKtenant"
}, {
  "instanceShortName" : "ActiveSubs",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "tenantS"
}, {
  "instanceShortName" : "BYOKAIVEN2",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "tenNoEnv"
}, {
  "instanceShortName" : "ota2",
  "connectUrls" : "https://connect3.url,https://connect4.url",
  "connectEnabled" : true,
  "tenantShortName" : "tenanta"
}, {
  "instanceShortName" : "BYOKAIVEN",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "BYOKtenant"
}, {
  "instanceShortName" : "INSTDELETE",
  "connectUrls" : "http://connect.com",
  "connectEnabled" : false,
  "tenantShortName" : "tenNoEnv"
}, {
  "instanceShortName" : "BYOKCC",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "BYOKtenant"
}, {
  "instanceShortName" : "ota",
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "connectEnabled" : true,
  "tenantShortName" : "tenanta"
}, {
  "instanceShortName" : "BYOKKAFKA",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "BYOKtenant"
}, {
  "instanceShortName" : "LMTBYOKCC",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "LmtBYOKtnt"
}, {
  "instanceShortName" : "prod",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "tenantb"
}, {
  "instanceShortName" : "prod",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "tenanta"
}, {
  "instanceShortName" : "test",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "supertenant"
}, {
  "instanceShortName" : "ota",
  "connectUrls" : null,
  "connectEnabled" : true,
  "tenantShortName" : "tenantb"
}, {
  "instanceShortName" : "lst",
  "connectUrls" : "https://connect1.url,https://connect2.url",
  "connectEnabled" : false,
  "tenantShortName" : "tenanta"
}, {
  "instanceShortName" : "BYOKKAFKAReplica",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "BYOKtenant"
}, {
  "instanceShortName" : "CCnoEnv",
  "connectUrls" : null,
  "connectEnabled" : false,
  "tenantShortName" : "BYOKtenant"
} ]

API changelog

All notable changes to this project are listed below.

8.4.0 - 2024-03-25

Added

  • Added search by owner to Applications, Streams, and Environments

  • Handle the refresh certificate scenario with no downtime in Kafka ACL

Bugfixes

  • Save Apache-Kafka secrets when importing an existing Apache-Kafka cluster

  • Fixed update cluster issue when the topic/group/transactional pattern is provided in patch request but not modified

  • Fixed the /me endpoint issue when VaultService is not available

  • Fixed issue when updating an instance with property.value=NULL

8.3.0 - 2024-03-13

Added

  • Filter the system-topics from the /wizard/topics

  • Added DB scheduler configuration for distributed scheduling of connector cron jobs

Bugfixes

  • Fixed issue while updating onboarded default instance

  • Removed usage of`updateTopic` to fix issue adding a cluster makes existing things fail

  • Added SSL configuration to HashicorpVault

  • Fixed fetching the secrets when the cluster or instance Name have Capital letters

  • Fixed to restrict updating patterns on external cluster when mapped to a topic

8.2.0 - 2024-02-29

Added

  • Add properties field to Application and Group APIs

  • Off-boarding of a ConfluentCloud cluster

  • Allow downloading CSV file for Topics, Applications, and Environments

  • Add extraInitContainers, extraVolumes, extraVolumeMounts, and extraContainers to Helm Charts

  • Cascade delete Application, Environment, Topic

  • Prevent reuse of SSL principal

  • Added a new field settings to Instance entity

  • Add monitoring_information for API Gateway

  • Add validation to block changing cluster ownership

Bugfixes

  • Fixed PATCH /clusters/{id} API to allow migrating old arch cluster to a shared apache-kafka cluster

  • Changes to add namespace property to governance.vault

  • Fix creating first environment on single-environment cluster

  • Changing environment to PRIVATE is blocked by REVOKED access grants.

  • A deleted instance is still present in the list of managed instance

  • Fixed PATCH /instances/{id} API to allow instance migration

  • Added default instanceSettings while onboarding new tenant

  • Refactored the logic of setting value for isSchemaRegistryEnabled field of /me API

  • Fixed issue when deleting an instance with connect enabled

  • Fixed issue with search on topic with findByAttributes

  • Cannot create the first environment in a Tenant

  • Fixed issue when selecting AVRO and then switching back during topic creation

  • Fixed HATEOAS links pointing to the wrong resources

8.1.0 - 2024-01-30

Added

  • Add provider info to the Instance entity

  • Handled Duplicated CAs internally instead of returning validation error when creating or updating an instance

  • Add Cluster validation when creating/updating the entity

  • Set server.forward-headers-strategy: framework as default

  • Add new API to get the Kafka connectivity Information per application

  • Add the properties to the StreamProjections

  • Allow Stream owner and Stream admin to create applicationAccessGrant

  • Add delete /schemas endpoint to delete the Schema with related SchemaVersions

Bugfixes

  • Add validation fields for Instance PATCH endpoint

  • Fixed cluster.name update issue of ignoring case sensitivity when interacting with vault

  • remove phone number validation for the user entity

  • Fix overwriting issue of SR and Kafka listeners when performing a patch

  • Fix bypassing the APPLICATION_ACCESS_GRANT_CREATE rule for createApplicationAccessGrant API

8.0.1 - 2023-12-13

Bugfixes

  • Create an Admin group when bootstrapping the Tenant/User

8.0.0 - 2023-12-13

Added

  • Upgrade Spring Boot to 3.1.0

  • Replace Spring Sleuth with Micrometer to fix distributed tracing

  • Get rid of all deprecated endpoints as 6.x & 7.x version

  • Add Broker mTLS cert/privateKey validation in the Wizard

  • Add Broker SASL username/password validation in the Wizard

  • Add SR BasicAuth username/password validation in the Wizard

  • Add SR mTLS cert/privateKey to Wizard

  • Add provider info in the cluster page

  • Allow skipping onboarding after user signup

  • Added validation while creating an environment to check if Instance has any multi-environment cluster

  • Unify logging pattern

Bugfixes

  • Improve performance of getAllWithLatestSchemaVersion endpoint

  • Hide sensitive fields in the audit logging

  • Make Error Human Readable

  • Remove phoneNumber pattern validation on group entity

7.4.0 - 2023-10-09

Added

  • Don’t validate connector-logging certificate against the instance CAs

  • Added TRIALING status to reflect "active" state of the subscription

  • Add stream-config-browse config endpoint

  • Add Hashicorp Vault support

  • Upgraded Spring Kafka version to 3.0.10

  • Upgraded Kafka Clients version to 3.5.1

  • Upgraded Spring Hateoas version to 2.0.6

  • Upgraded Spring Security version to 6.1.4

  • Upgraded Keycloak Admin Client version to 22.0.3

  • Changed the /clusters endpoint to return Public and Owned clusters

  • Removed the endpoint /instances/{id}/clusters

  • Change to restrict creating Byok-Instance using the non-byok cluster and vice versa while creating instance

  • Introduce a multiInstance feature to control instance-creation

  • Ingest AOM features into Platform Manager

  • Show Private Key Uploaded in Principal

  • Add HashiCorp Vault support for storing connect secrets

  • Added links to the /clusters endpoint. Updated RBAC rule for cluster create,edit and delete

  • Add apache-kafka allowed topic-properties

  • Add tenantUid, topicBrowseEnabled, and schemaRegistryEnabled fields to /api/me

  • Added a new endpoint /tenants/{tenantUID}/onboard to onboard a tenant with shared cluster

  • Re-introduced segment.ms pickup from Instance’s properties

  • Use principalChain when creating Topic ACL for multi-tenant cluster and support multi-cluster for topic apply/delete

  • Delete public environment

  • Add tls support to PlatformManager helm-charts with external k8s secret only

  • Support multiple instanceConnect configuration at Deployment time

Bugfixes

  • Fix check on identifying external cluster in InstanceEventHandler

  • Changes to Allow Generating/Deleting SASL credentials for Plain/Strimzi provider

  • Fix change key/value of an unconfigured topic to AVRO

  • Allow deleting an applicationCredentials with the ResourceId as metadata in case clusterApiKey is empty

  • Return a tenant optional field when getting all Instances

  • Fix Schema Browser issue with null schemas in mgmt-api

  • Fix create/delete multiple schema versions

7.3.0 - 2023-08-02

Added

  • Added configuration to enable/disable duplicate schema validation

  • Update importApplication to store ResourceID

  • Allow applying a topic on a Plain/Strimzi Cluster

  • Allow deleting a topic on a Plain/Strimzi Cluster

  • Upgraded Spring version to 6.0.11

  • Upgraded Spring Security version to 6.1.2

  • Changes to remove duplicated ACL when applying a topic

  • Updated the rule for APPLICATION_ACCESS_GRANT_VIEW similar to APPLICATION_ACCESS_VIEW

  • Add connector logging status to environments/search/findByApplication endpoint response

  • Add delete /schema_versions/{uid} endpoint

  • RollBack all the changes to resolve username on findByAttribute endpoint

Bugfixes

  • Uploading a schema-version for an existing schema gives error

  • Auto-create/delete topic configs when toggling connector logging state.

7.2.0 - 2023-07-17

Added

  • Changes to create authentication on Confluent Cloud

  • Create/delete Connect log prefix ACLs when environment is saved/deleted

  • Create/delete ACLs when a Connect logging certificate is uploaded/deleted

  • Automatically create topic configurations as part of the connector logging support feature

  • Handle concurrency in creation of application_access

  • Support Headers based authentication

  • Set user fullName as createdBy/modifiedBy for myApplications and myTopics APIs

  • Allow onboarding a ConfluentCloud cluster as a CloudAdmin

  • Get /group endpoint returns sorted by name, add myTeams param to get /application_access_grants/search/findByAttributes endpoint

  • Allow to delete API Keys on Confluent Cloud

Bugfixes

  • Change topicConfig properties endpoint to use envID

  • If resource does not exist return 404 instead of 403 for all getById APIs

  • Expect a clusterName param for ConfluentCloud when getting the external topic details

  • fix /applications/search/findByAttributes and /streams/search/findByAttributes APIs returning duplicated items

7.1.0 - 2023-06-15

Added

  • Add POST /application_authentications endpoint to create credentials for any provider

  • Create/delete prefix ACLs when instance is saved with connect logging enabled

Bugfixes

  • Improve error message of an unauthorized user attempting to browse a stream

  • Fix Hibernate Lazy Initialization on ConnectPluginInfo

7.0.6 - 2023-06-09

Added

  • Added a toggle to enable/disable support for connector-logging.

Bugfixes

  • Fixed streamConfig update policy

  • Allow user to provide single character for firstname and lastname

7.0.5 - 2023-06-05

Bugfixes

  • Fixes issue with topic apply on any newly created topic

7.0.4 - 2023-05-30

Added

  • Eliminate the need for ApplicationAccess

  • Allow creating/updating kafka topic without optional kafka properties

  • Update HorizontalPodAutoscaler to autoscaling/v2 apiVersion in helm-chart

  • Delete /application_authentications endpoint to delete user on any provider

  • Fixed hibernate lazy initialization issue with asyncApi endpoint

  • Added a check to validate if an environment’s Authorization issue is Auto before browsing a stream

  • Updated findStreamConfigById in stream config repository to a custom query

  • Updated findById in stream config repository to a custom query

Bugfixes

  • Fix for Browsing a stream on a Public Environment with AUTO approval is denied

7.0.3 - 2023-05-25

Bugfixes

  • User in permission-group but not owner of stream-config cannot browse

  • Fix issue on application_access_grants/search/findByAttributes returning other tenant resources

  • Remove api/streams/{uid}/browse-access endpoint

  • Remove unused Validator components

  • Fix for Requesting application-access for the first time results in no-ACL for AUTO Approval Environment

Hotfixes

  • Added custom queries for few methods in ApplicationAccess, Stream and Environment repositories to avoid hibernate lazy loading

7.0.2 - 2023-05-11

Added

  • Add AsyncAPI specification for any StreamConfig in JSON or YAML format

7.0.1 - 2023-04-18

Bugfixes

  • Fixed restriction of non-admin users and non-members from updating the group

  • Set TopicSchemas as null in case the topic key/value type is not Avro for External Providers

7.0.0 - 2023-04-12

Added

  • Upgrade to Spring Boot 3.0.x

  • Added Stripe events integration

  • Added customer creation and subscription logic

  • Added subscription management database schema

  • Added subscription management module + pricing table endpoint

  • Added limitation of having just one active subscription

  • Added customer portal and checkout redirect

  • Added fallback value for products

  • Added Off-board customer from Stripe

  • Added Slack notification for Sales/Marketing when the user request a quote

  • Added organization Created event which is sent after Tenant creation

  • Added blocking clusters/groups creation upon reaching limit by client

  • Added subscription management module + pricing table endpoint

  • Added subscription management database schema

  • Exposed an endpoint to retrieve current customer’s usage and features

  • Added supporting multiple OIDC Provider

  • Exposed /me endpoint to return User and Tenant information

  • Added Aiven credentials validation and return Aiven services

  • Added Confluent Cloud credentials validation and return Confluent Cloud services

  • Exposed /wizard/topics endpoint to create base entities

  • Include topics, ACLs and Schemas as discovered resources for an external provider

  • Added fetching TopicDetails for available topics on a Kafka Provider

  • Added deleting stream browse permission groups when disabling granular browse permissions on the Instance

  • Added Streams/StreamConfigs, ACLs and Schemas import for an external provider

  • Added persisting secrets in Azure KeyVault for Aiven and ConfluentCloud providers

  • Added supporting Multiple owners to Search Application Grants by Attributes

  • Allow creating clusters with same name on different tenants

  • Delete topic via Provider Library added

  • Allowing imported topics to have any Kafka properties

  • Added apply topic and update existing topic via Provider Library

  • Exposed GET /schemas/findAllWithLatestVersion endpoint to list all schemas with the latest schema versions

  • Updated authMethods to match the external Kafka Providers

  • Added uid and comment to ApplicationAccessGrant Response

  • Added Cluster and Schema-Registry API/Secret to connect to ConfluentCloud provider

  • Converted custom initial_group claim into existing Group to add new user when converting an Auth0 JWT

  • Added Off-board an Axual Governance Organization and its resources

  • Added Filter out topic properties which are topic fields

  • Allow ConfluentCloud applications to manage their AccountID

Bugfixes

  • Fixed creation of browse permission group for Auto environment

  • Fixed NPE when getting subscription info on Auth0 authentication

  • Added Instance.apiUrl as part of the response when getting an Environment

  • Added delete link to GET /clusters/{uid} endpoint

  • Fixed issues with the endpoint /users/search/searchUser

  • Updated the application.adoc mentioning _ are allowed for applicationId

  • Make all error responses consistent

  • Added /instance/{uid}/clusters to return only owned cluster in case the Instance is using an external Kafka cluster

  • Add SASL_PLAIN to GET /authentication_methods to support tenant update with SASL_PLAIN

  • Fixed /deletion-constraints endpoint to return 404 instead of 403

  • Change application_id type to store long applicationId coming from Confluent-Cloud

  • Set default value of create-stream.disable-time to 0 minutes

  • Changed imported stream description

  • Fixed issue on application_access_grants/search/findByAttributes returning other tenant resources

  • Fix issue of not passing partitionCount and set proper SchemaType when no schema is present

  • Remove username prefix from imported applications name for Aiven provider

  • Allow updating Stream and Application owners by TENANT_ADMIN

  • Allow AxualAuditorAware to work with anonymous user and anonymous authentication token

  • Subscriptions shouldn’t be deleted

Deprecated

  • MySQL 5.7 support has been removed and connecting to a MySQL 5.7 DB won’t work with Platform Manager 7.x

6.20.4 - 2022-01-19

Bugfixes

  • Fix for instance setting being ignored when there is no stream browse permission group

6.20.3 - 2022-01-18

Bugfixes

  • Setting max size limit of pagination to 9999

6.20.2 - 2023-01-16

Bugfixes

  • Change default value for Instance.environmentMapping to true

6.20.1 - 2022-01-10

Bugfixes

  • Fix for Environment filter issue on application-access-grant search

6.20.0 - 2022-12-15

Added

  • Check schema compatibility only when schema versions have changed

  • Remove schema compatibility check when schema key/value versions are not changed

  • Introduce a new endpoint to simplify the creation of an ApplicationAccessGrant

  • Mark search endpoints in Application Access as deprecated

  • New search endpoints for Application Access Grant

6.19.0 - 2022-11-17

Added

Bugfixes

  • Delete certificate/privateKey when deleting a connector application

  • Deactivate connector plugin when they are removed from Axual Connect

  • Fix /connect_plugins to return only active connector plugins

6.18.1 - 2022-11-07

Bugfixes

  • Fix NPE thrown when validating certificate without correct extension

6.18.0 - 2022-11-02

Added

BugFixes

  • Fix /tenant endpoint to expose updated tenant’s value

6.17.0 - 2022-10-21

Added

Bugfixes

  • Fix connector’s cert-uri when Vault.Namespace is provided

6.16.1 - 2022-10-13

Bugfixes

  • Fix Environments without a color to have a default color

6.16.0 - 2022-09-30

Bugfixes

  • Fix fetching pluginConfigs when updating ConnectorPluginInfo ConnectPlugins

6.15.1 - 2022-09-13

Bugfixes

6.15.0 - 2022-08-24

Added

6.14.0 - 2022-08-16

Added

Bugfixes

6.13.0 - 2022-07-25

Added

Bugfixes

6.12.1 - 2022-07-12

Added

  • Made Stream Value Type, Key Type, Retention Time, Schema(if AVRO) editable Update a stream

6.12.0 - 2022-06-15

Added

Bugfixes

  • Fix API to provide proper HTTP error response when Vault is unavailable

  • Fix User profile to display group membership /groups/search/findByMembersContains

  • When creating a stream-config and instance without segment.ms property, load it from Management API defaults Create stream config endpoints

  • Fix issue while uploading LF certificate and private-key to Vault

6.11.0 - 2022-05-19

Added

6.10.0 - 2022-04-14

Added

6.9.2 - 2022-03-29

Bugfixes

  • Fix generation of connector certUri when storing security on Vault

6.9.1 - 2022-03-09 (NOT VALID FOR DEPLOYMENT)

Added

Bugfixes

  • Fix NPE when the connector returns a null ConfigValue

6.9.0 - 2022-02-23 (NOT VALID FOR DEPLOYMENT)

Added

Bugfixes

6.8.0 - 2021-12-16

Added

Bugfixes

6.7.1 - 2021-11-11

Added

6.7.0 - 2021-10-21

Added

  • Use environment connector plugin version

6.6.0 - 2021-10-07

Added

6.5.0 - 2021-09-14

Added

Bugfixes

  • Fix inconsistency between Axual Connect state and self-service state

  • Management API cannot create new cluster Create a cluster

6.4.0 - 2021-08-12

Added

  • Include cluster names to InstanceUsage returned to Billing View Usage

Bugfixes

6.3.0 - 2021-07-15

Added

Bugfixes

6.2.0 - 2021-06-17

Added

  • Disable changing an environment’s instance or shortName when stream configs exist Update an environment

6.1.0 - 2021-06-10

Added

Bugfixes

  • Uploading the PEM file with the cert + intermediate CA + root CA gives error when saving principal Create Application Principal

  • Support windows line ending for PK/certificate/schema upload

6.0.1 - 2021-04-22

Added

6.0.0 - 2021-03-22

Added

  • Add support for exactly once semantics in Producers.

Deprecated APIs

All the deprecated APIs and their alternatives are listed below. These deprecated endpoints will be removed as part of next major release

Deprecated API Alternative API Deprecated since version

PATCH /application_principals/{uid}

Create Application Principal Delete application principal

8.4.0

DELETE /application_access/{uid}/grants

Revoke/Deny an authorization request for an ApplicationAccessGrant

7.0.4

GET /application_access_grants/search/findActionable

Searching grants by Attributes

7.0.4

GET /application_access_grants/search/findInformative

Searching grants by Attributes

7.0.4

GET /application_access_grants/search/findAllInformative

Searching grants by Attributes

7.0.4

GET streams/{uid}/browse-access

Use StreamBrowse

7.0.3

GET /application_access/id

6.20.0

GET /application_access/search/findByApplication

6.20.0

GET /application_access/search/findByStream

6.20.0

GET /application_access/search/findByApplicationAndStream

6.20.0

GET /application_access/search/findByEnvironment

6.20.0

POST /application_access

Create an ApplicationAccessGrant

6.20.0

POST /application_access/id/grants

Create an ApplicationAccessGrant

6.20.0

GET /application_access_grants/search/findByStream

Searching grants by Attributes

6.20.0

POST /schema_versions

Upload schemas

6.14.0

GET /applications/search/findByName [resources-find-application-by-name]

/applications/search/findByAttributes

6.14.0

GET /applications/search/findByShortName [resources-find-application-by-shortname]

/applications/search/findByAttributes

6.14.0

GET /applications/search/findByNameIgnoreCase

/applications/search/findByAttributes

6.14.0

GET /applications/search/findByApplicationType [resources-application-findByApplicationType]

/applications/search/findByAttributes

6.14.0

GET /applications/search/findByApplicationIds [resources-find-application-by-ApplicationId]

/applications/search/findByAttributes

6.14.0

GET /applications/search/findAll

/applications/search/findByAttributes

6.14.0

GET /applications/search/findByNameContaining

/applications/search/findByAttributes

6.14.0

GET /auth/billing/

Auth

6.9.0

GET /auth/subscription/

Auth

6.9.0

GET /applications/{id}/config

Retrieve a connector/plugin config

6.7.0

POST /schemas/check

Check and Parse a schema

6.3.0

GET streams/{uid}/browse

Use StreamBrowse

4.5.0

Inconsistent Errors

All error responses will be made consistent with the Errors. Some scenarios were listed below.

Scenario Incompatible Error (Sample Response) Compatible Error (Sample Response) Available since api version

While creating any resource with invalid value, the service throws a 400-BAD_REQUEST exception with the compatible error format.

{
"errors": [
  {
   "entity": "Application",
   "property": "type",
   "invalidValue": null,
   "message": "Type must be provided."
  }
 ]
}
{
   "status": "BAD_REQUEST",
   "message": "Bad request",
   "errors": [
     "Type must be provided."
   ],
   "subErrors": [
    {
      "field": "Application.type",
      "rejectedValue": null,
      "recommendedValues": null,
      "errors": [
        "Type must be provided."
      ]
    }
   ]
}

7.0.0

While updating any resource with invalid value, the service throws a 400-BAD_REQUEST exception with the compatible error format.

{
  "errors": [
  {
   "entity": "Application",
   "property": "applicationIds",
   "invalidValue": [
    "nl.tenanta.app2"
   ],
   "message": "Duplicate applicationId"
  }
 ]
}
{
   "status": "BAD_REQUEST",
   "message": "Bad request",
   "errors": [
     "Type must be provided."
   ],
   "subErrors": [
    {
     "field": "Application.type",
     "rejectedValue": null,
     "recommendedValues": null,
     "errors": [
       "Type must be provided."
     ]
    }
   ]
}

7.0.0

When performing a GET on the resource either when it is not available or if you do not have access to, the service throws a 404-NOT_FOUND exception with the compatible error format.

empty response body
{
   "status": "NOT_FOUND",
   "message": "Resource not found or you do not have permissions to access it.",
   "errors": [
     "EntityRepresentationModel not found!"
   ],
   "subErrors": null
}

7.0.0

While updating streamConfig with an incompatible key/value schema version, the service throws a 502-BAD_GATEWAY exception. This scenario had been returning 403-FORBIDDEN HTTP status before the change.

ApiError(status=403
FORBIDDEN,
message=Request
processing failed;
nested exception is
io.axual.flux.core.exception.
InstanceClientCreateException:
Failed topic creation
for stream tenanta-stream1
on tenantaenv1 for instance
http//aeb-ota.local;
nested exception is
org.springframework.web
.client.HttpClientError
Exception$UnprocessableEntity:
422 Unprocessable Entity,
errors=null, subErrors=null)
{
   "status": "BAD_GATEWAY",
   "message": "Failed to apply stream. The key schema you are trying to apply is incompatible with latest key schema version.",
   "errors": [
     "422 Unprocessable Entity"
   ],
   "subErrors": null
}

7.0.0