Management API Guide
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 |
---|---|
|
Used to retrieve a resource |
|
Used to create a new resource |
|
Used to update an existing resource, including partial updates |
|
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 |
---|---|
|
The request completed successfully |
|
A new resource has been created successfully. The resource’s URI is available from the response’s
|
|
An update to an existing resource has been applied successfully |
|
The request was malformed. The response body will include an error providing further information |
|
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 |
---|---|---|
|
|
A description of the cause of the error |
|
|
The HTTP error that occurred, e.g. |
|
|
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
}
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: 75
{
"name" : "axual-flux",
"description" : null,
"version" : "6.14.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.
Request parameters
Parameter | Description |
---|---|
|
The page to retrieve |
|
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: 1962
{
"_embedded" : {
"tenants" : [ {
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : 5,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
The first page of results |
|
The last page of results |
|
The next page of results |
|
The previous page of results |
Response fields
Path | Type | Description |
---|---|---|
|
|
List of results |
|
|
Links to other resources and pages |
|
|
Summary of current page results |
|
|
Number of results in current page |
|
|
Total number of results available |
|
|
Total pages available |
|
|
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.
Request parameters
Parameter | Description |
---|---|
|
The field to sort on. Multiple fields can be specified by adding |
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: 1962
{
"_embedded" : {
"tenants" : [ {
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : 5,
"totalElements" : 1,
"totalPages" : 1,
"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' \
-H 'X-XSRF-TOKEN: XSRF-TOKEN' \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta' \
--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"
}'
Logout
To invalidate the token, send a GET
request to /logout
and include the token that needs to be
invalidated in the X-Auth-Token
header.
curl -X GET \
http://api.axual.io/logout \
-H 'X-Auth-Token: 16d961e3-93bc-4486-8d05-a0281f3a4938'
In response, the header X-Auth-Token
will be returned with no value. This confirms the token was invalidated.
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: 1097
{
"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"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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: 1190
{
"_embedded" : {
"groups" : [ {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"_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",
"_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 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: 1055
{
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"tenant" : {
"href" : "...",
"title" : "A tenant"
}
}
}
Elevate to a tenant
PUT /tenant
This feature is no longer supported!
De-elevate from a tenant
DELETE /tenant
This feature is no longer supported!
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 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" : {
"application_access_grants" : {
"href" : "...",
"templated" : true
},
"tenants" : {
"href" : "...",
"templated" : true,
"title" : "Access or create tenants"
},
"application_access" : {
"href" : "...",
"templated" : true,
"title" : "Access or create ApplicationAccess"
},
"integrities" : {
"href" : "...",
"templated" : true
},
"clusters" : {
"href" : "...",
"templated" : true,
"title" : "Access or create clusters"
},
"application_credentials" : {
"href" : "...",
"templated" : true
},
"application_principals" : {
"href" : "...",
"templated" : true,
"title" : "Access or create ApplicationPrincipals"
},
"environments" : {
"href" : "...",
"templated" : true,
"title" : "Access or create environments"
},
"support_tiers" : {
"href" : "...",
"templated" : true
},
"confidentialities" : {
"href" : "...",
"templated" : true
},
"schemas" : {
"href" : "...",
"templated" : true,
"title" : "Access or create schemas"
},
"application_deployments" : {
"href" : "...",
"templated" : true
},
"stream_configs" : {
"href" : "...",
"templated" : true,
"title" : "Access or create streams"
},
"instances" : {
"href" : "...",
"templated" : true,
"title" : "Access or create instances"
},
"schema_versions" : {
"href" : "...",
"templated" : true,
"title" : "Access or create schema versions"
},
"groups" : {
"href" : "...",
"templated" : true,
"title" : "Access or create groups"
},
"streams" : {
"href" : "...",
"templated" : true,
"title" : "Access or create streams"
},
"connect_plugins" : {
"href" : "...",
"templated" : true
},
"users" : {
"href" : "...",
"templated" : true,
"title" : "Access or create users"
},
"applications" : {
"href" : "...",
"templated" : true,
"title" : "Access or create applications"
},
"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"
}
}
}
Links
Relation | Description |
---|---|
|
The Users resource |
|
The Groups resource |
|
|
|
|
|
|
|
The Tenants resource |
|
The Streams resource |
|
|
|
The Schemas resource |
|
|
|
|
|
|
|
|
|
|
|
Returns the authenticated user |
|
Returns the groups that authenticated user belongs to |
|
Returns the authenticated tenant |
|
The ALPS profile for the service |
|
Returns the confidentiality levels |
|
Returns the integrity |
|
Returns the support tiers |
|
|
|
|
|
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.
Billing (Deprecated)
The billing
resource uses the following json-schema:
Curl request
$ curl 'http://api.example.com/auth/billing' -i -X GET \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta'
HTTP request
GET /auth/billing HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP response
HTTP/1.1 200 OK
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
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:
GET /profile/clusters 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: 1356
{
"title" : "Cluster",
"properties" : {
"uid" : {
"title" : "Uid",
"readOnly" : true,
"type" : "string"
},
"apiUrl" : {
"title" : "Api url",
"readOnly" : false,
"type" : "string"
},
"bootstrapServers" : {
"title" : "Bootstrap servers",
"readOnly" : false,
"type" : "array",
"uniqueItems" : true,
"items" : {
"$ref" : "#/definitions/bootstrapServer"
}
},
"name" : {
"title" : "Name",
"readOnly" : false,
"type" : "string"
},
"clusterBrowseUrl" : {
"title" : "Cluster browse url",
"readOnly" : false,
"type" : "string"
},
"description" : {
"title" : "Description",
"readOnly" : false,
"type" : "string"
},
"location" : {
"title" : "Location",
"readOnly" : false,
"type" : "string"
},
"billingCloudEnabled" : {
"title" : "Billing cloud enabled",
"readOnly" : false,
"type" : "boolean"
}
},
"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.
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: 4124
{
"_embedded" : {
"clusters" : [ {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}, {
"name" : "Zone2 Cluster OTA",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-ota.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
"bootstrapServers" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}, {
"name" : "Zone1 Cluster PROD",
"description" : "",
"location" : "Zone1",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-prod.zone1.local",
"clusterBrowseUrl" : "http://clusterbrowse-prod.zone1.local",
"bootstrapServers" : [ ],
"uid" : "db0766d053ca46d59b0a1af2817c535a",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}, {
"name" : "Zone2 Cluster PROD",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-prod.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-prod.zone2.local",
"bootstrapServers" : [ {
"bootstrapServer" : "bootstrapserver3:9093"
}, {
"bootstrapServer" : "bootstrapserver2:9093"
}, {
"bootstrapServer" : "bootstrapserver1:9093"
} ],
"uid" : "e57ec8be6e2845fbb14b074ce5752782",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}, {
"name" : "Zone1 Cluster LST",
"description" : "",
"location" : "Zone1",
"billingCloudEnabled" : false,
"apiUrl" : "http://clusterapi-lst.zone1.local",
"clusterBrowseUrl" : "http://clusterbrowse-lst.zone1.local",
"bootstrapServers" : [ ],
"uid" : "f2e75fe2226745bea34ea9f56621f78f",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}, {
"name" : "Zone2 Cluster LST",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : false,
"apiUrl" : "http://clusterapi-lst.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-lst.zone2.local",
"bootstrapServers" : [ ],
"uid" : "5fe719191cd44798ab70322830800dbc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
} ]
},
"_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" : 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 |
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. |
Must not be empty |
Curl request
$ curl 'http://api.example.com/clusters' -i -X POST \
-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"
} ]
}'
HTTP request
POST /clusters HTTP/1.1
Content-Type: application/json
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
ETag: "0"
Location: http://api.example.com/clusters/aa8410d078ba49c9a5eed2603bf3ce25
Content-Type: application/hal+json
Content-Length: 634
{
"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" : [ {
"bootstrapServer" : "bootstrapserver2:9092"
}, {
"bootstrapServer" : "bootstrapserver1:9092"
} ],
"uid" : "aa8410d078ba49c9a5eed2603bf3ce25",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}
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
ETag: "0"
Content-Type: application/hal+json
Content-Length: 541
{
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}
Update an 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.
$ 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' \
--cookie 'XSRF-TOKEN=XSRF-TOKEN' \
-d '{
"description" : "modified description"
}'
PATCH /clusters/66c12e25ab06458eac988f0d700fbe81 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 44
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"description" : "modified description"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Cluster search endpoints
/clusters/search/findByName
Search for a cluster by exact name.
Parameter | Description |
---|---|
|
Cluster name to search for. |
GET /clusters/search/findByName?name=Zone1+Cluster+LST 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
ETag: "0"
Content-Type: application/hal+json
Content-Length: 488
{
"name" : "Zone1 Cluster LST",
"description" : "",
"location" : "Zone1",
"billingCloudEnabled" : false,
"apiUrl" : "http://clusterapi-lst.zone1.local",
"clusterBrowseUrl" : "http://clusterbrowse-lst.zone1.local",
"bootstrapServers" : [ ],
"uid" : "f2e75fe2226745bea34ea9f56621f78f",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"cluster" : {
"href" : "...",
"title" : "A cluster"
}
}
}
/clusters/search/findByNameContaining
Search for a cluster by name containing search term.
Parameter | Description |
---|---|
|
Term to search within cluster name. |
GET /clusters/search/findByNameContaining?name=best 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: 258
{
"_embedded" : {
"clusters" : [ ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 0,
"totalPages" : 0,
"number" : 0
}
}
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: 237
[ {
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
}, {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_512"
}, {
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
} ]
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 |
---|---|
|
Can manage Tenants, Instances and Clusters. |
|
Can do User and Group management. |
|
Can |
|
Can |
|
Can |
|
Can |
|
Can |
|
Can |
|
Can |
|
Can |
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
-
Only
TENANT_ADMIN
users are allowed to assign roles for other users of same tenant. -
TENANT_ADMIN
users can assign any roles exceptSUPER_ADMIN
role. -
SUPER_ADMIN
users can assign onlySUPER_ADMIN
role to users of super tenant.
Create the first tenant
After have created the realm in Keycloak
A POST
request is used to create the first tenant for installation through the management API. Once tenant creation is successful, user creating the tenant will be given both SUPER_ADMIN
and TENANT_ADMIN
roles.
As a prerequisite, Admin Keycloak Console should be unrestricted before creating the tenant and can be restricted after the tenant is created.
Request fields
Path | Type | Description | Constraints |
---|---|---|---|
tenantName |
String |
Full name of the tenant |
|
tenantShortName |
String |
Short name of the tenant. Tenant short name must be same as the realm name |
|
tenantUserEmail |
String |
Existing Users email in the keycloak realm |
Curl request
$ curl 'http://api.example.com/initialize' -i -X POST \
-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 '{
"tenantName" : "Test Tenant",
"tenantShortName" : "test",
"tenantUserEmail" : "user@tenanta.nl"
}'
HTTP request
POST /initialize HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 105
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"tenantName" : "Test Tenant",
"tenantShortName" : "test",
"tenantUserEmail" : "user@tenanta.nl"
}
HTTP response
HTTP/1.1 204 No Content
When the requested realm is not found in keycloak the Management API returns a 400 Bad Request.
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/hal+json
Content-Length: 204
{
"status" : "BAD_REQUEST",
"message" : "Failed to create Tenant. Please try again or contact Axual administrator.",
"errors" : [ "Error while validating realm in keycloak" ],
"subErrors" : null
}
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: 2676
{
"title" : "Tenant",
"properties" : {
"partitions" : {
"title" : "Partitions",
"readOnly" : false,
"type" : "integer"
},
"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"
},
"retentionTime" : {
"title" : "Retention time",
"readOnly" : false,
"type" : "integer"
},
"created_by" : {
"title" : "Created by",
"readOnly" : true,
"type" : "string"
},
"uid" : {
"title" : "Uid",
"readOnly" : true,
"type" : "string"
},
"contact" : {
"title" : "Contact",
"readOnly" : false,
"type" : "string",
"format" : "uri"
},
"name" : {
"title" : "Name",
"readOnly" : false,
"type" : "string"
},
"featureConfig" : {
"title" : "Feature config",
"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" ]
}
}
}
},
"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: 1963
{
"_embedded" : {
"tenants" : [ {
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : 1,
"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 |
shortName |
String |
Short name of the tenant |
Must match the regular expression |
supportedAuthenticationMethods |
Array |
A list of supported authentication methods. If not specified, default value is SSL. Each authentication methods has a |
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). |
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 |
Curl request
$ curl 'http://api.example.com/tenants' -i -X POST \
-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 Tenant",
"shortName" : "test",
"retentionTime" : 50000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256",
"rank" : 0
} ]
}'
HTTP request
POST /tenants HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 223
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"name" : "Test Tenant",
"shortName" : "test",
"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: Tue, 16 Aug 2022 14:07:05 GMT
Location: http://api.example.com/tenants/cb7afc0f77c2480ea1f6bda669dd1fe4
Content-Type: application/hal+json
Content-Length: 1134
{
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1",
"segment.ms" : "86400000"
},
"name" : "Test Tenant",
"shortName" : "test",
"logo" : null,
"issuerUrl" : null,
"dataClassificationEnabled" : false,
"featureConfig" : null,
"retentionTime" : 50000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "cb7afc0f77c2480ea1f6bda669dd1fe4",
"created_at" : "2022-08-16T14:07:05.185501",
"modified_at" : "2022-08-16T14:07:05.185501",
"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: 1282
{
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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
Relation | Description |
---|---|
|
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' \
--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
Content-Length: 27
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"name" : "New Tenant"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:07:05 GMT
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' \
--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
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 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:07:05 GMT
Update a tenant featureConfig
A PATCH
request is used to update a tenant featureConfig. These featureConfigs are used when running in a SaaS platform. Only an Axual admin can perform this action.
Path | Type | Description | Constraints |
---|---|---|---|
featureConfig |
String |
Only super admin user is able to update the feature config for a tenant. |
$ 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' \
--cookie 'XSRF-TOKEN=XSRF-TOKEN' \
-d '{
"featureConfig" : "{\n \"userLimit\": 2,\n \"group\":1\n}"
}'
PATCH /tenants/55ef719629a94a07b9bf8ac0f3c495e5 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 66
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"featureConfig" : "{\n \"userLimit\": 2,\n \"group\":1\n}"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:07:05 GMT
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: 171
{
"errors" : [ {
"entity" : "Tenant",
"property" : "shortName",
"invalidValue" : "New Tenant",
"message" : "Tenant short-name can not be edited."
} ]
}
Update a tenant’s feature config
A PATCH
request is used to update a tenant. Only an Axual admin can perform this
action.
Path | Type | Description | Constraints |
---|---|---|---|
featureConfig |
String |
Only super admin user is able to update the feature config for a tenant. |
$ 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' \
--cookie 'XSRF-TOKEN=XSRF-TOKEN' \
-d '{
"featureConfig" : "{\n \"userLimit\": 2,\n \"group\":1\n}"
}'
PATCH /tenants/55ef719629a94a07b9bf8ac0f3c495e5 HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 66
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"featureConfig" : "{\n \"userLimit\": 2,\n \"group\":1\n}"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:07:05 GMT
Search endpoints
/tenants/search/findByName
Search for a tenant by exact name.
Parameter | Description |
---|---|
|
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: 1645
{
"_embedded" : {
"tenants" : [ {
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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 |
---|---|
|
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: 1744
{
"_embedded" : {
"tenants" : [ {
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : 1,
"totalPages" : 1,
"number" : 0
}
}
/tenants/search/findByShortName
Search for a tenant by exact short name.
Parameter | Description |
---|---|
|
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: 1645
{
"_embedded" : {
"tenants" : [ {
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"min.insync.replicas" : "1"
},
"name" : "TenantA",
"shortName" : "tenanta",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
}
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: 1908
{
"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"
},
"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: 11818
{
"_embedded" : {
"users" : [ {
"firstName" : "supAdmin",
"emailAddress" : {
"email" : "supadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "eb1f7f147df84179a151bdc21f5bb924",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : "van der",
"_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",
"phoneNumber" : null,
"middleName" : null,
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"user" : {
"href" : "...",
"templated" : true,
"title" : "A user"
},
"tenant" : {
"href" : "...",
"title" : "A tenant"
}
}
}, {
"firstName" : "kad",
"emailAddress" : {
"email" : "kadmember@tenanta.nl"
},
"lastName" : "member",
"uid" : "007b994a6ab34165a93fd4c7a8db1388",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 19,
"totalPages" : 1,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
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: 990
{
"firstName" : "regular",
"lastName" : "user",
"middleName" : null,
"emailAddress" : {
"email" : "regularuser@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "dc67596abe224691a363a230ca1e291e",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
}
Links
Relation | Description |
---|---|
|
Existence of this link indicates that the currently authenticated user can edit the User |
|
Existence of this link indicates that the currently authenticated user can assign roles to this user |
|
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 2 and 50 inclusive |
lastName |
String |
The last name of the user |
Must not be empty. Size must be between 2 and 50 inclusive |
middleName |
String |
The |
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' \
-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
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: Tue, 16 Aug 2022 14:07:21 GMT
Location: http://api.example.com/users/eafd6eb05f87457194ca7d7693ed791a
Content-Type: application/hal+json
Content-Length: 1038
{
"firstName" : "User",
"lastName" : "Vrij",
"middleName" : "van",
"emailAddress" : {
"email" : "user.van.vrij@tenanta.nl"
},
"phoneNumber" : "0612345678",
"roles" : [ ],
"uid" : "eafd6eb05f87457194ca7d7693ed791a",
"created_at" : "2022-08-16T14:07:21.643191",
"modified_at" : "2022-08-16T14:07:21.643191",
"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' \
--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
Content-Length: 36
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"phoneNumber" : "+31063433333"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
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 |
---|---|
|
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: 953
{
"_embedded" : {
"users" : [ {
"firstName" : "powerUser",
"emailAddress" : {
"email" : "poweruser@tenanta.nl"
},
"lastName" : "powerUser",
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"phoneNumber" : null,
"middleName" : 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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
/users/search/findByLastName
Returns all users with lastName containing the given lastName
.
Parameter | Description |
---|---|
|
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: 964
{
"_embedded" : {
"users" : [ {
"firstName" : "firstNameTest",
"emailAddress" : {
"email" : "testuser@tenanta.nl"
},
"lastName" : "lastNameTest",
"uid" : "1759cc36cacd4df38ed1b0336e22e06d",
"phoneNumber" : null,
"middleName" : "van der",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
/users/search/searchUser
Returns all users with firstName, middleName, lastName, localPart or domain containing the given query
.
Parameter | Description |
---|---|
query |
A firstName, middleName, lastName or localPart of email can be use as query. |
GET /users/search/searchUser?query=poweruser
realm: tenanta
Host: api.example.com
Authorization: Bearer token
HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 953
{
"_embedded" : {
"users" : [ {
"firstName" : "powerUser",
"lastName" : "powerUser",
"emailAddress" : {
"email" : "poweruser@tenanta.nl"
},
"middleName" : null,
"phoneNumber" : null,
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
/users/search/findByRole
Returns all users with given roles. Pass the name of the role as parameter.
Parameter | Description |
---|---|
|
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: 1543
{
"_embedded" : {
"users" : [ {
"firstName" : "tenAdmin",
"emailAddress" : {
"email" : "tenadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "ea0e7f147df84179a151bdc21f5bb813",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
/users/search/findByEmailAddress
Return user with emailAddress as the given emailAddress
Parameter | Description |
---|---|
|
A valid |
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",
"phoneNumber" : null,
"middleName" : 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: 1428
{
"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"
}
},
"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: 5499
{
"_embedded" : {
"groups" : [ {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"_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-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"_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",
"_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",
"_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",
"_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",
"_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",
"_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",
"_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",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 9,
"totalPages" : 1,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
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 |
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. |
|
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' \
-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" ]
}'
HTTP request
POST /groups HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 192
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" ]
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Tue, 16 Aug 2022 14:07:06 GMT
Location: http://api.example.com/groups/a83f789e28704d17a5429b1bbd064841
Content-Type: application/hal+json
Content-Length: 1442
{
"name" : "Team Amazing",
"emailAddress" : {
"email" : "team.amazing@tenanta.nl"
},
"phoneNumber" : "+31612345678",
"uid" : "a83f789e28704d17a5429b1bbd064841",
"created_at" : "2022-08-16T14:07:06.480493",
"modified_at" : "2022-08-16T14:07:06.480493",
"created_by" : "tenadmin@tenanta.nl",
"modified_by" : "tenadmin@tenanta.nl",
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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"
}
}
}
Links
Relation | Description |
---|---|
|
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: 2356
{
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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 |
---|---|---|
|
|
The name of the group. |
|
|
Users belonging to this group. This field would be absent if group has no members. |
Links
Relation | Description |
---|---|
|
The members of this Group can be found at this link. This link is also used add/remove users from this group. |
|
Existence of this link indicates that the currently authenticated user can edit the Group |
|
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: 2235
{
"name" : "Team Medallion",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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" : 23,
"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' \
-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
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 |
---|---|
|
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 |
---|---|
|
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 |
---|---|
|
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: 792
{
"_embedded" : {
"groups" : [ {
"name" : "Team Kad",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841869644c2ad8b439553",
"_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: 3603
{
"title" : "Instance",
"properties" : {
"description" : {
"title" : "Description",
"readOnly" : false,
"type" : "string"
},
"created_at" : {
"title" : "Created at",
"readOnly" : true,
"type" : "string",
"format" : "date-time"
},
"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"
},
"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" ]
}
}
},
"instanceClusters" : {
"type" : "object",
"properties" : {
"cluster" : {
"title" : "Cluster",
"readOnly" : false,
"type" : "string",
"format" : "uri"
},
"schemaRegistryUrls" : {
"title" : "Schema registry urls",
"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: 5927
{
"_embedded" : {
"instances" : [ {
"name" : "TenantA OTA",
"shortName" : "ota",
"enabledAuthenticationMethods" : [ {
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS",
"rank" : 0
}, {
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER",
"rank" : 2
}, {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256",
"rank" : 1
} ],
"instanceClusters" : [ {
"cluster" : {
"name" : "Zone2 Cluster OTA",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-ota.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
"bootstrapServers" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"description" : "TenantA OTA Instance",
"uid" : "b9301e9144324928911f7d83ec40c478",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"instance" : {
"href" : "...",
"templated" : true,
"title" : "An instance"
},
"supportTier" : {
"href" : "...",
"templated" : true
}
}
}, {
"name" : "TenantA Prod",
"shortName" : "prod",
"enabledAuthenticationMethods" : [ ],
"instanceClusters" : [ {
"cluster" : {
"name" : "Zone1 Cluster PROD",
"description" : "",
"location" : "Zone1",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-prod.zone1.local",
"clusterBrowseUrl" : "http://clusterbrowse-prod.zone1.local",
"bootstrapServers" : [ ],
"uid" : "db0766d053ca46d59b0a1af2817c535a"
},
"schemaRegistryUrls" : "https://schema.local4"
} ],
"description" : "TenantA Prod Instance",
"uid" : "f6969bd9f3f7435aa6bc6c62cb960393",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"instance" : {
"href" : "...",
"templated" : true,
"title" : "An instance"
},
"supportTier" : {
"href" : "...",
"templated" : true
}
}
}, {
"name" : "TenantA LST",
"shortName" : "lst",
"enabledAuthenticationMethods" : [ {
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS",
"rank" : 0
} ],
"instanceClusters" : [ {
"cluster" : {
"name" : "Zone2 Cluster OTA",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-ota.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
"bootstrapServers" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local7"
} ],
"description" : "TenantA LST Instance",
"uid" : "g7969bd9f3f7435aa6bc6c62cb960304",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"instance" : {
"href" : "...",
"templated" : true,
"title" : "An instance"
},
"supportTier" : {
"href" : "...",
"templated" : true
}
}
}, {
"name" : "TenantA OTA2",
"shortName" : "ota2",
"enabledAuthenticationMethods" : [ {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256",
"rank" : 0
} ],
"instanceClusters" : [ {
"cluster" : {
"name" : "Zone2 Cluster OTA",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-ota.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
"bootstrapServers" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local6"
} ],
"description" : "Second TenantA OTA Instance",
"uid" : "6e37bcf4d4a44334924aa0f961286668",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 4,
"totalPages" : 1,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
Existence of |
|
Existence of |
Create instance
A POST
request is used to create an instance. The request should have at-least one
existing Cluster
URI.
Request fields
Path | Type | Description | Constraints |
---|---|---|---|
name |
String |
The name of the instance. |
Must match the regular expression |
shortName |
String |
A short name of the instance. |
Must match the regular expression |
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. Must not be empty. 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, default value is SSL. |
Must not be empty. Must not be null |
properties |
Object |
A list of Instance specific variables in Key,Value format. |
Curl request
$ curl 'http://api.example.com/instances' -i -X POST \
-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" : "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
}'
HTTP request
POST /instances HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 2554
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
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Tue, 16 Aug 2022 14:08:19 GMT
Location: http://api.example.com/instances/cf78e7a0982f4f4fa7a455a7cf7448d1
Content-Type: application/hal+json
Content-Length: 3795
{
"properties" : {
"replication.factor" : "1",
"cleanup.policy" : "delete",
"num.partitions" : "12",
"min.insync.replicas" : "1",
"segment.ms" : "86400000",
"retention.ms" : "604800000"
},
"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",
"_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"
} ],
"shortName" : "lst",
"enabledAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"connectEnabled" : false,
"connectUrls" : null,
"uid" : "cf78e7a0982f4f4fa7a455a7cf7448d1",
"created_at" : "2022-08-16T14:08:19.617775",
"modified_at" : "2022-08-16T14:08:19.617775",
"created_by" : "tenadmin@tenanta.nl",
"modified_by" : "tenadmin@tenanta.nl",
"_embedded" : {
"supportTier" : {
"name" : "GOLD",
"description" : "This is gold",
"uid" : "14cadc6238fc4695916a8053302743f5",
"_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"
},
"edit" : {
"href" : "...",
"title" : "Indication that this entity can be edited"
},
"synchronize" : {
"href" : "..."
},
"supportTier" : {
"href" : "...",
"templated" : true
}
}
}
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 12
.
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
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
ETag: "0"
Content-Type: application/hal+json
Content-Length: 3994
{
"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
} ],
"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"
} ],
"connectEnabled" : true,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"supportTier" : {
"name" : "GOLD",
"description" : "This is gold",
"uid" : "14cadc6238fc4695916a8053302743f5",
"_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"
},
"edit" : {
"href" : "...",
"title" : "Indication that this entity can be edited"
},
"synchronize" : {
"href" : "..."
},
"supportTier" : {
"href" : "...",
"templated" : true
}
}
}
Links
Relation | Description |
---|---|
|
Existence of this link indicates that currently authenticated user can synchronize this |
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. |
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 '{
"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
Content-Length: 44
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"description" : "modified description"
}
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:08:20 GMT
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' \
--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
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 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:08:19 GMT
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' \
--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
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 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:08:20 GMT
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
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/6e37bcf4d4a44334924aa0f961286668/deletion-constraints' -i -X GET \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta'
HTTP request
GET /instances/6e37bcf4d4a44334924aa0f961286668/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/6e37bcf4d4a44334924aa0f961286668' -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/6e37bcf4d4a44334924aa0f961286668 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.
Request parameters
Parameter | Description |
---|---|
|
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: 3840
{
"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
} ],
"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"
} ],
"connectEnabled" : true,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"supportTier" : {
"name" : "GOLD",
"description" : "This is gold",
"uid" : "14cadc6238fc4695916a8053302743f5",
"_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.
Request parameters
Parameter | Description |
---|---|
|
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: 3207
{
"_embedded" : {
"connect_plugins" : [ {
"instance" : {
"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" : "transforms",
"type" : "LIST"
}, {
"name" : "tasks.max",
"type" : "INT"
}, {
"name" : "key.converter",
"type" : "CLASS"
}, {
"name" : "logger.name",
"type" : "STRING"
}, {
"name" : "connector.class",
"type" : "STRING"
}, {
"name" : "name",
"type" : "STRING"
} ],
"pluginClass" : "io.axual.test.sink.plugin",
"pluginType" : "SINK",
"uid" : "197691609c2fe4f129cfc79f18d5d1269",
"_links" : {
"instance" : {
"href" : "...",
"templated" : true,
"title" : "An instance"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"instance" : {
"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" : [ ],
"pluginClass" : "io.axual.test.source.plugin",
"pluginType" : "SOURCE",
"uid" : "427691609c2f20f129bd179f45d5d1269",
"_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: 10102
{
"_embedded" : {
"environmentWithStatuses" : [ {
"status" : "Undefined",
"_embedded" : {
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"status" : "Undefined",
"_embedded" : {
"environment" : {
"name" : "tenantaenv3",
"shortName" : "tenantaenv3",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da8be6905b55552ab63",
"_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" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"status" : "Undefined",
"_embedded" : {
"environment" : {
"name" : "envdefault",
"shortName" : "envdefault",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da96e6905b55552ab63",
"_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" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_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",
"shortName" : "tenantaenvns",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "a5f2383ccce249459b24b7cb189b40bc",
"_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" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"status" : "Undefined",
"_embedded" : {
"environment" : {
"name" : "tenantaenv2",
"shortName" : "tenantaenv2",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"_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" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_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: 1492
{
"_embedded" : {
"confidentialities" : [ {
"level" : "L1",
"color" : "blue",
"description" : "test confidentiality",
"uid" : "347ab08009fe4da8be6905b55552ab52",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
}
}
}, {
"level" : "L2",
"color" : "blue",
"description" : "L2 confidentiality",
"uid" : "648ab08009fe4da8be6905b55552ac43",
"_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" : "Indication that an entity can be created"
}
},
"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' \
-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
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: Tue, 16 Aug 2022 14:07:07 GMT
Location: http://api.example.com/confidentialities/c839be5b389a48fe8fc1c28e5e6cd6c0
Content-Type: application/hal+json
Content-Length: 768
{
"level" : "l2",
"description" : "This is Level 2",
"color" : "blue",
"uid" : "c839be5b389a48fe8fc1c28e5e6cd6c0",
"created_at" : "2022-08-16T14:07:07.213992",
"modified_at" : "2022-08-16T14:07:07.213992",
"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: 733
{
"level" : "L1",
"description" : "test confidentiality",
"color" : "blue",
"uid" : "347ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
}
Links
Relation | Description |
---|---|
|
Existence of this link indicates that the currently authenticated user can edit this Confidentiality level |
|
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: 732
{
"level" : "L1",
"description" : "Updated description",
"color" : "blue",
"uid" : "347ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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: 1457
{
"_embedded" : {
"integrities" : [ {
"level" : "L1",
"color" : "green",
"description" : "This is level 1",
"uid" : "247ab08159fe4da8be6905b55552ab52",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
}
}
}, {
"level" : "L2",
"color" : "yellow",
"description" : "This is level 2",
"uid" : "247ab03ffafe4da2bet905b5e352ab53",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
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' \
-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
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: Tue, 16 Aug 2022 14:07:23 GMT
Location: http://api.example.com/integrities/4de792537b404d01b8f6049bff945ff2
Content-Type: application/hal+json
Content-Length: 762
{
"level" : "level 1",
"description" : "This is level 1",
"color" : "green",
"uid" : "4de792537b404d01b8f6049bff945ff2",
"created_at" : "2022-08-16T14:07:23.756368",
"modified_at" : "2022-08-16T14:07:23.756368",
"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: 717
{
"level" : "L1",
"description" : "This is level 1",
"color" : "green",
"uid" : "247ab08159fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
}
Links
Relation | Description |
---|---|
|
Existence of this link indicates thatthe currently authenticated user can edit this Integrity level |
|
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: 729
{
"level" : "level-one",
"description" : "Updated description",
"color" : "purple",
"uid" : "247ab08159fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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: 9003
{
"_embedded" : {
"environments" : [ {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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",
"shortName" : "tenantaenv2",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"_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",
"shortName" : "tenantaprivenv1",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
"_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",
"shortName" : "tenantaprivenv2",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "61b1b34b0c6744dcadb85f4c188517e5",
"_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",
"shortName" : "tenantaprivenv3",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "72c1b34b0c6744dcadb85f4c188518f6",
"_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",
"shortName" : "tenantaprivenv4",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "83c1b34b0c6744dcadb85f4c188518g5",
"_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",
"shortName" : "tenantaprivenv5",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"_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",
"shortName" : "tenantaenv3",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da8be6905b55552ab63",
"_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",
"shortName" : "envdefault",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da96e6905b55552ab63",
"_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",
"shortName" : "tenantaenvns",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "a5f2383ccce249459b24b7cb189b40bc",
"_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",
"shortName" : "tenantaenvgrant",
"visibility" : "private",
"color" : null,
"description" : "environment with just application_access_grant and no mapping to application_access",
"uid" : "a5f2383420e249459b24b7cb189b40bc",
"_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"
},
"profile" : {
"href" : "...",
"title" : "Endpoints for schema metadata in ALPS/JSON Schema format"
},
"search" : {
"href" : "...",
"title" : "Search endpoints for this entity"
},
"create" : {
"href" : "...",
"title" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 11,
"totalPages" : 1,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
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 |
shortName |
String |
The short name of the environment. Used in stream names internally. Must be lower-case. |
Must match the regular expression |
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 |
|
visibility |
String |
Defines the visibility of this environment. Possible values are |
|
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). |
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 |
Curl request
$ curl 'http://api.example.com/environments' -i -X POST \
-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" : "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
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: Tue, 16 Aug 2022 14:08:18 GMT
Location: http://api.example.com/environments/bd3b751a2ffd4a398419127a10044844
Content-Type: application/hal+json
Content-Length: 3621
{
"properties" : {
"stream.integrity" : "2",
"stream.confidentiality" : "3"
},
"name" : "KAD Test",
"shortName" : "kad",
"description" : "This is KAD test environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : null,
"retentionTime" : 90000,
"partitions" : 8,
"private" : false,
"autoApproved" : false,
"uid" : "bd3b751a2ffd4a398419127a10044844",
"created_at" : "2022-08-16T14:08:18.283662",
"modified_at" : "2022-08-16T14:08:18.283662",
"created_by" : "poweruser@tenanta.nl",
"modified_by" : "poweruser@tenanta.nl",
"_embedded" : {
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"_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",
"shortName" : "ota",
"enabledAuthenticationMethods" : [ {
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS",
"rank" : 0
}, {
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER",
"rank" : 2
}, {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256",
"rank" : 1
} ],
"instanceClusters" : [ {
"cluster" : {
"name" : "Zone2 Cluster OTA",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-ota.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
"bootstrapServers" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"description" : "TenantA OTA Instance",
"uid" : "b9301e9144324928911f7d83ec40c478",
"_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"
}
}
}
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: 3506
{
"properties" : { },
"name" : "tenantaprivenv1",
"shortName" : "tenantaprivenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"owners" : {
"name" : "Environment-tenAenv1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"_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",
"shortName" : "ota",
"enabledAuthenticationMethods" : [ {
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS",
"rank" : 0
}, {
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER",
"rank" : 2
}, {
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256",
"rank" : 1
} ],
"instanceClusters" : [ {
"cluster" : {
"name" : "Zone2 Cluster OTA",
"description" : "",
"location" : "Zone2",
"billingCloudEnabled" : true,
"apiUrl" : "http://clusterapi-ota.zone2.local",
"clusterBrowseUrl" : "http://clusterbrowse-ota.zone2.local",
"bootstrapServers" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"description" : "TenantA OTA Instance",
"uid" : "b9301e9144324928911f7d83ec40c478",
"_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"
}
}
}
Links
Relation | Description |
---|---|
|
The Axual instance this environment is mapped to. |
|
The group of users allowed to access/update the environment. |
|
Existence of this link indicates that the currently authenticated user can edit this |
|
Existence of this link indicates that currently authenticated user can synchronize this |
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
and instance
.
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: 87
{
"canEditInstance" : true,
"canEditShortName" : 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' \
--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
Content-Length: 43
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"description" : "Updated description"
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Delete environment endpoints
Deleting private environment is a two-step process a GET request to check the constraints followed by the DELETE request.
Currently, deleting a public environment is not supported. |
Delete private environment constraints
A GET
request is used to get the constraints for deleting private 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: 136
{
"canDelete" : true,
"activeGrantsCount" : 0,
"appPrincipalsCount" : 0,
"appCredentialsCount" : 0,
"streamConfigsCount" : 0
}
Delete private environment
A DELETE
request is used to delete a private environment.
$ 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
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 |
---|---|
|
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: 914
{
"_embedded" : {
"environments" : [ {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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 |
---|---|
|
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: 1118
{
"_embedded" : {
"environments" : [ {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
/environments/search/findByShortName
Search for an environment by exact short name.
Parameter | Description |
---|---|
|
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: 914
{
"_embedded" : {
"environments" : [ {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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 |
---|---|
|
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: 4794
{
"_embedded" : {
"environments" : [ {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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",
"shortName" : "tenantaenv2",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"_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",
"shortName" : "tenantaprivenv1",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
"_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",
"shortName" : "tenantaprivenv3",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "72c1b34b0c6744dcadb85f4c188518f6",
"_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",
"shortName" : "tenantaenvns",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "a5f2383ccce249459b24b7cb189b40bc",
"_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",
"shortName" : "tenantaenvgrant",
"visibility" : "private",
"color" : null,
"description" : "environment with just application_access_grant and no mapping to application_access",
"uid" : "a5f2383420e249459b24b7cb189b40bc",
"_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 |
---|---|
|
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: 22175
{
"_embedded" : {
"environmentsWithStatuses" : [ {
"active" : true,
"_embedded" : {
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv2",
"shortName" : "tenantaenv2",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv1",
"shortName" : "tenantaprivenv1",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv2",
"shortName" : "tenantaprivenv2",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "61b1b34b0c6744dcadb85f4c188517e5",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv3",
"shortName" : "tenantaprivenv3",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "72c1b34b0c6744dcadb85f4c188518f6",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv4",
"shortName" : "tenantaprivenv4",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "83c1b34b0c6744dcadb85f4c188518g5",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv5",
"shortName" : "tenantaprivenv5",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv3",
"shortName" : "tenantaenv3",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da8be6905b55552ab63",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "envdefault",
"shortName" : "envdefault",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da96e6905b55552ab63",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv_no_streams",
"shortName" : "tenantaenvns",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "a5f2383ccce249459b24b7cb189b40bc",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
},
"stream" : null
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv_only_app_grant",
"shortName" : "tenantaenvgrant",
"visibility" : "private",
"color" : null,
"description" : "environment with just application_access_grant and no mapping to application_access",
"uid" : "a5f2383420e249459b24b7cb189b40bc",
"_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" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_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"
}
}
}
/environments/search/findByStream
Search for environments that are used by this stream.
Parameter | Description |
---|---|
|
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: 30786
{
"_embedded" : {
"environmentsWithStatuses" : [ {
"active" : true,
"_embedded" : {
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : true,
"_embedded" : {
"environment" : {
"name" : "tenantaenv2",
"shortName" : "tenantaenv2",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv1",
"shortName" : "tenantaprivenv1",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv2",
"shortName" : "tenantaprivenv2",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "61b1b34b0c6744dcadb85f4c188517e5",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : true,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv3",
"shortName" : "tenantaprivenv3",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "72c1b34b0c6744dcadb85f4c188518f6",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv4",
"shortName" : "tenantaprivenv4",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "83c1b34b0c6744dcadb85f4c188518g5",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaprivenv5",
"shortName" : "tenantaprivenv5",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv3",
"shortName" : "tenantaenv3",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da8be6905b55552ab63",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "envdefault",
"shortName" : "envdefault",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "156ab08009fe4da96e6905b55552ab63",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv_no_streams",
"shortName" : "tenantaenvns",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "a5f2383ccce249459b24b7cb189b40bc",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
}, {
"active" : false,
"_embedded" : {
"environment" : {
"name" : "tenantaenv_only_app_grant",
"shortName" : "tenantaenvgrant",
"visibility" : "private",
"color" : null,
"description" : "environment with just application_access_grant and no mapping to application_access",
"uid" : "a5f2383420e249459b24b7cb189b40bc",
"_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",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/environments/search/findByPluginClass
Search for environments that are used by this plugin class.
Parameter | Description |
---|---|
|
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: 490
{
"envPluginVersionMap" : {
"tenantaenv1" : "1.0.0",
"tenantaprivenv1" : "1.0.0",
"tenantaenvgrant" : "1.0.0",
"tenantaprivenv2" : "1.0.2",
"tenantaprivenv3" : "1.0.0",
"tenantaprivenv4" : "1.0.2",
"tenantaenv2" : "1.0.0",
"tenantaprivenv5" : "1.0.1",
"tenantaenv3" : "1.0.2",
"tenantaenvns" : "1.0.0",
"envdefault" : "1.0.2"
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
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}"
}
} ]
}
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: 3590
{
"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"
}
},
"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"
}
}
}
},
"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: 17828
{
"_embedded" : {
"applications" : [ {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication2",
"type" : "Java",
"shortName" : "tenanta_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication2 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication3",
"type" : "Java",
"shortName" : "tenanta_app3",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication3 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaPrivApp3",
"type" : "Java",
"shortName" : "tenanta_priv_app3_2",
"visibility" : "private",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaPrivApp3 description.",
"uid" : "f692ca5191764258b7257a6b2a7fb188",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "testRevoke",
"type" : "Java",
"shortName" : "test_revoke",
"visibility" : "private",
"owners" : {
"name" : "Team Kad",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841869644c2ad8b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "39d82d7994484b53ae1de37ee8924512",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaAutoApplication3",
"type" : "Java",
"shortName" : "tenanta_auto_app3",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "4cc380171afc4c898b6f6c02caccf451",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaAutoApplication4",
"type" : "Java",
"shortName" : "tenanta_auto_app4",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "aec9e4570f1c4866bef77722e2830d4b",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication5",
"type" : "Java",
"shortName" : "tenanta_app5",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fdc9e4570f1c4866bef77722e2830d5g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication7",
"type" : "SINK",
"shortName" : "tenanta_app7",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ead8f4670h1c4866deg78722e2930e3f",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication8",
"type" : "SINK",
"shortName" : "tenanta_app8",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fbe9f4670h1c4866deg78722e2931e4g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication9",
"type" : "SINK",
"shortName" : "tenanta_app9",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ghi9f4670h1c4866deg78722e2931e4g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication10",
"type" : "SINK",
"shortName" : "tenanta_app10",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "lmk9f4670h1c4866deg78722e2931e5g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication11",
"type" : "SINK",
"shortName" : "tenanta_app11",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ioi9f4670h1c4866deg78722e2921f5g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication12",
"type" : "SINK",
"shortName" : "tenanta_app12",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dhi9f4200h1c4230deg74322e2931e49",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication13",
"type" : "SINK",
"shortName" : "tenanta_app13",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ebd8f4670h1c4866deg78722e2930e3f",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantbApplication2",
"type" : "Java",
"shortName" : "tenantb_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination1",
"type" : "Java",
"shortName" : "tenanta_app_pagination1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination2",
"type" : "Java",
"shortName" : "tenanta_app_pagination2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination3",
"type" : "Java",
"shortName" : "tenanta_app_pagination3",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 28,
"totalPages" : 2,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
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 |
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 |
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 |
|
applicationType |
String |
Application Axual type. Possible values are |
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' \
-H 'X-XSRF-TOKEN: XSRF-TOKEN' \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta' \
--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"
}'
HTTP request
POST /applications HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 347
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"
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://api.example.com/applications/2d2dc75d377f4d729c3af2ad2cc335b2
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 |
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 |
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 |
|
applicationType |
String |
Application Axual type. Possible values are |
Must not be null |
applicationClass |
String |
Meaningful only when |
|
applicationClassVersion |
String |
Meaningful only when |
|
type |
String |
When |
Curl request
$ curl 'http://api.example.com/applications' -i -X POST \
-H 'Content-Type: application/json' \
-H 'X-XSRF-TOKEN: XSRF-TOKEN' \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta' \
--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
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
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
Location: http://api.example.com/applications/48af001ee6804b9494d57aa7262363be
Create Default application configuration (Deprecated)
A PATCH
request is used to create a default configuration for a connector application.
Curl request
$ curl 'http://api.example.com/applications/dbc9e4670h1c4866deg78722e2930d2g' -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 '{
"applicationDefaults" : {
"test.app.id" : "io.axual.connect.app.id"
}
}'
HTTP request
PATCH /applications/dbc9e4670h1c4866deg78722e2930d2g HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 81
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"applicationDefaults" : {
"test.app.id" : "io.axual.connect.app.id"
}
}
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
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: 3642
{
"name" : "tenantaApplication1",
"shortName" : "tenanta_app1",
"description" : "tenantaApplication1 description.",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.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"
}
}
}
Links
Relation | Description |
---|---|
|
Existence of this link indicates that the currently authenticated user can edit this Application |
|
Existence of this link indicates that the currently authenticated user can delete this Application |
|
Existence of this link indicates that the currently authenticated user can create the ApplicationPrincipal for this Application |
|
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.
Request parameters
Parameter | Description |
---|---|
|
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: 2019
{
"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
}, {
"name" : "key.converter",
"type" : "CLASS",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "LOW",
"documentation" : null,
"pluginConfigState" : null
}, {
"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
}, {
"name" : "name",
"type" : "STRING",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "HIGH",
"documentation" : "Globally unique name to use for this connector.",
"pluginConfigState" : null
}, {
"name" : "tasks.max",
"type" : "INT",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "LOW",
"documentation" : null,
"pluginConfigState" : null
}, {
"name" : "transforms",
"type" : "LIST",
"required" : true,
"defaultValue" : "",
"providedValue" : "",
"importance" : "LOW",
"documentation" : "Aliases for the transformations to be applied to records.",
"pluginConfigState" : null
} ],
"unsupportedPluginConfigFound" : false,
"newMandatoryPluginConfigFound" : false,
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
Links
Relation | Description |
---|---|
|
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: 2019
{
"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
}, {
"name" : "key.converter",
"type" : "CLASS",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "LOW",
"documentation" : null,
"pluginConfigState" : null
}, {
"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
}, {
"name" : "name",
"type" : "STRING",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "HIGH",
"documentation" : "Globally unique name to use for this connector.",
"pluginConfigState" : null
}, {
"name" : "tasks.max",
"type" : "INT",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "LOW",
"documentation" : null,
"pluginConfigState" : null
}, {
"name" : "transforms",
"type" : "LIST",
"required" : true,
"defaultValue" : "",
"providedValue" : "",
"importance" : "LOW",
"documentation" : "Aliases for the transformations to be applied to records.",
"pluginConfigState" : null
} ],
"unsupportedPluginConfigFound" : false,
"newMandatoryPluginConfigFound" : false,
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
Links
Relation | Description |
---|---|
|
URI pointing to current request |
Retrieve an application default connector config (Deprecated)
Use Retrieve a connector/plugin config instead.
The applications/{id}/config
resource is used to retrieve application default connector config when available.
The defaultValue
values come from connector default configuration.
The providedValue
values come from application default configuration.
A GET
request will retrieve the details of an application default connector config combined with ConnectPluginInfo
.
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' \
--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
Content-Length: 29
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"name" : "updated_name"
}
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Sun, 01 Nov 2020 23:16:23 GMT
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: 264
{
"errors" : [ {
"entity" : "Application",
"property" : "shortName",
"invalidValue" : "updated_name",
"message" : "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' \
--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
Content-Length: 47
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"applicationId" : "updated_applicationId"
}
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "1"
Last-Modified: Tue, 16 Aug 2022 14:07:30 GMT
Search endpoints
/applications/search/findByAttributes
A GET
request is used to retrieve all applications based on paging parameters.
Request parameters
Parameter | Description |
---|---|
|
Property to sort on and the direction. |
|
Navigate through different pages. |
|
Property to define the page size. |
HTTP request
GET /applications/search/findByAttributes?sort=name,asc&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: 20305
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app10" ],
"uid" : "lmk9f4670h1c4866deg78722e2931e5g",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app11" ],
"uid" : "ioi9f4670h1c4866deg78722e2921f5g",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app12" ],
"uid" : "dhi9f4200h1c4230deg74322e2931e49",
"created_at" : "2021-02-02T13:16:23.774",
"modified_at" : "2021-02-02T13:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app13" ],
"uid" : "ebd8f4670h1c4866deg78722e2930e3f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 5,
"totalElements" : 5,
"totalPages" : 1,
"number" : 0
}
}
A GET
request will retrieve an application by name
. The parameter name
is not case-sensitive. This endpoint replaces the /applications/search/findByName
.
Request parameters
Parameter | Description |
---|---|
|
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: 20306
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app10" ],
"uid" : "lmk9f4670h1c4866deg78722e2931e5g",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app11" ],
"uid" : "ioi9f4670h1c4866deg78722e2921f5g",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app12" ],
"uid" : "dhi9f4200h1c4230deg74322e2931e49",
"created_at" : "2021-02-02T13:16:23.774",
"modified_at" : "2021-02-02T13:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app13" ],
"uid" : "ebd8f4670h1c4866deg78722e2930e3f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 5,
"totalPages" : 1,
"number" : 0
}
}
A GET
request will retrieve an application by shortName
. The parameter shortName
is not case-sensitive. This endpoint replaces the /applications/search/findByShortName
.
Request parameters
Parameter | Description |
---|---|
|
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: 4210
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app3" ],
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
A GET
request will retrieve an application by applicationType
. The parameter applicationType
is not case-sensitive. This endpoint replaces the /applications/search/findByApplicationType
.
Request parameters
Parameter | Description |
---|---|
|
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: 73909
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.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" : "tenantaApplication2",
"shortName" : "tenanta_app2",
"description" : "tenantaApplication2 description.",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app2" ],
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app3" ],
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "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,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "appAdmin",
"emailAddress" : {
"email" : "appadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "caa51002633244ffbe36f4ccf8a8f501",
"phoneNumber" : null,
"middleName" : null,
"_links" : {
"tenant" : {
"href" : "...",
"title" : "A tenant"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"firstName" : "appAuthor",
"emailAddress" : {
"email" : "appauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "f692ca5191764258b7257a6b2a7fb188",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "testRevoke",
"shortName" : "test_revoke",
"description" : "",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "private",
"owners" : {
"name" : "Team Kad",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841869644c2ad8b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "kad",
"emailAddress" : {
"email" : "kadmember@tenanta.nl"
},
"lastName" : "member",
"uid" : "007b994a6ab34165a93fd4c7a8db1388",
"phoneNumber" : null,
"middleName" : 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"
}
}
},
"allApplicationIds" : [ "nl.tenanta.app.revoke" ],
"uid" : "39d82d7994484b53ae1de37ee8924512",
"created_at" : "2020-11-01T23:16:23.774",
"modified_at" : "2020-11-01T23:16:23.774",
"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" : "tenantaAutoApplication3",
"shortName" : "tenanta_auto_app3",
"description" : "",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "appAdmin",
"emailAddress" : {
"email" : "appadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "caa51002633244ffbe36f4ccf8a8f501",
"phoneNumber" : null,
"middleName" : null,
"_links" : {
"tenant" : {
"href" : "...",
"title" : "A tenant"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"firstName" : "appAuthor",
"emailAddress" : {
"email" : "appauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.auto.app3" ],
"uid" : "4cc380171afc4c898b6f6c02caccf451",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "appAdmin",
"emailAddress" : {
"email" : "appadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "caa51002633244ffbe36f4ccf8a8f501",
"phoneNumber" : null,
"middleName" : null,
"_links" : {
"tenant" : {
"href" : "...",
"title" : "A tenant"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"firstName" : "appAuthor",
"emailAddress" : {
"email" : "appauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.auto.app4" ],
"uid" : "aec9e4570f1c4866bef77722e2830d4b",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "tenantaApplication5",
"shortName" : "tenanta_app5",
"description" : "",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "appAdmin",
"emailAddress" : {
"email" : "appadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "caa51002633244ffbe36f4ccf8a8f501",
"phoneNumber" : null,
"middleName" : null,
"_links" : {
"tenant" : {
"href" : "...",
"title" : "A tenant"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"firstName" : "appAuthor",
"emailAddress" : {
"email" : "appauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app5" ],
"uid" : "fdc9e4570f1c4866bef77722e2830d5g",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
}, {
"name" : "tenantbApplication2",
"shortName" : "tenantb_app2",
"description" : null,
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831c74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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_pagination1",
"shortName" : "tenanta_app_pagination1",
"description" : null,
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831cc4ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e92e1831c74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831c74ff1beb09510d0bf7e17",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831c74ff1beb09510d0bf7377",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98ef831c74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831c74cf1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "a2e98e1831c74ff1beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "d2e98e1831c74ff6beb09510d0bf7e77",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 20,
"totalPages" : 1,
"number" : 0
}
}
A GET
request will retrieve an application by visibility
.
Request parameters
Parameter | Description |
---|---|
|
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: 13763
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app3" ],
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "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,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "appAdmin",
"emailAddress" : {
"email" : "appadmin@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "caa51002633244ffbe36f4ccf8a8f501",
"phoneNumber" : null,
"middleName" : null,
"_links" : {
"tenant" : {
"href" : "...",
"title" : "A tenant"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"firstName" : "appAuthor",
"emailAddress" : {
"email" : "appauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "e235c8fe4264431bbdb3b40a2e5f8f62",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ ],
"uid" : "f692ca5191764258b7257a6b2a7fb188",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "testRevoke",
"shortName" : "test_revoke",
"description" : "",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "private",
"owners" : {
"name" : "Team Kad",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841869644c2ad8b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "kad",
"emailAddress" : {
"email" : "kadmember@tenanta.nl"
},
"lastName" : "member",
"uid" : "007b994a6ab34165a93fd4c7a8db1388",
"phoneNumber" : null,
"middleName" : 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"
}
}
},
"allApplicationIds" : [ "nl.tenanta.app.revoke" ],
"uid" : "39d82d7994484b53ae1de37ee8924512",
"created_at" : "2020-11-01T23:16:23.774",
"modified_at" : "2020-11-01T23:16:23.774",
"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" : "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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app10" ],
"uid" : "lmk9f4670h1c4866deg78722e2931e5g",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
},
"page" : {
"size" : 20,
"totalElements" : 4,
"totalPages" : 1,
"number" : 0
}
}
A GET
request will retrieve an application by applicationId
. The parameter applicationType
is of type list. This endpoint replaces /applications/search/findByApplicationId
.
Request parameters
Parameter | Description |
---|---|
|
Application id list to search for. |
HTTP request
GET /applications/search/findByAttributes?applicationId=nl.tenanta.app1,nl.tenanta.app2 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: 8157
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.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" : "tenantaApplication2",
"shortName" : "tenanta_app2",
"description" : "tenantaApplication2 description.",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app2" ],
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
A GET
request can be used to search an application based on multiple params. name
, shortName
, applicationType
and visibility
are optional parameters.
Request parameters
Parameter | Description |
---|---|
|
Application name to search for. |
|
Application short name to search for. |
|
Application type to search for. |
|
Application visibility to search for. |
HTTP request
GET /applications/search/findByAttributes?name=tenantaApplication3&shortName=tenanta_app3&applicationType=CUSTOM&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: 4210
{
"_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,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app3" ],
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
/applications/search/findByName
The endpoint is deprecated. Please refer to /applications/search/findByAttributes for searching an application. |
Search for an application by exact name
.
Request parameters
Parameter | Description |
---|---|
|
Application name to search for |
HTTP request
GET /applications/search/findByName?name=tenantaApplication1 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: 1034
{
"_embedded" : {
"applications" : [ {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/applications/search/findByNameContaining
Search for an application by name
containing search term.
Request parameters
Parameter | Description |
---|---|
|
Term to search within application name. |
HTTP request
GET /applications/search/findByNameContaining?name=app 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: 15749
{
"_embedded" : {
"applications" : [ {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication2",
"type" : "Java",
"shortName" : "tenanta_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication2 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication3",
"type" : "Java",
"shortName" : "tenanta_app3",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication3 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaPrivApp3",
"type" : "Java",
"shortName" : "tenanta_priv_app3_2",
"visibility" : "private",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaPrivApp3 description.",
"uid" : "f692ca5191764258b7257a6b2a7fb188",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaAutoApplication3",
"type" : "Java",
"shortName" : "tenanta_auto_app3",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "4cc380171afc4c898b6f6c02caccf451",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaAutoApplication4",
"type" : "Java",
"shortName" : "tenanta_auto_app4",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "aec9e4570f1c4866bef77722e2830d4b",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication5",
"type" : "Java",
"shortName" : "tenanta_app5",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fdc9e4570f1c4866bef77722e2830d5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication7",
"type" : "SINK",
"shortName" : "tenanta_app7",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ead8f4670h1c4866deg78722e2930e3f",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication8",
"type" : "SINK",
"shortName" : "tenanta_app8",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fbe9f4670h1c4866deg78722e2931e4g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication9",
"type" : "SINK",
"shortName" : "tenanta_app9",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ghi9f4670h1c4866deg78722e2931e4g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication10",
"type" : "SINK",
"shortName" : "tenanta_app10",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "lmk9f4670h1c4866deg78722e2931e5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication11",
"type" : "SINK",
"shortName" : "tenanta_app11",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ioi9f4670h1c4866deg78722e2921f5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication12",
"type" : "SINK",
"shortName" : "tenanta_app12",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dhi9f4200h1c4230deg74322e2931e49",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication13",
"type" : "SINK",
"shortName" : "tenanta_app13",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ebd8f4670h1c4866deg78722e2930e3f",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantbApplication2",
"type" : "Java",
"shortName" : "tenantb_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination1",
"type" : "Java",
"shortName" : "tenanta_app_pagination1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination2",
"type" : "Java",
"shortName" : "tenanta_app_pagination2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination3",
"type" : "Java",
"shortName" : "tenanta_app_pagination3",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination4",
"type" : "Java",
"shortName" : "tenanta_app_pagination4",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831cc4ff1beb09510d0bf7e77",
"_links" : {
"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" : "Indication that an entity can be created"
}, {
"href" : "...",
"title" : "Indication that an entity can be created"
} ]
},
"page" : {
"size" : 20,
"totalElements" : 27,
"totalPages" : 2,
"number" : 0
}
}
/applications/search/findByNameContaining
Search for an application by name
containing search term and order by a nested property.
Request parameters
Parameter | Description |
---|---|
|
Term to search within application name. |
|
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: 15838
{
"_embedded" : {
"applications" : [ {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication10",
"type" : "SINK",
"shortName" : "tenanta_app10",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "lmk9f4670h1c4866deg78722e2931e5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication11",
"type" : "SINK",
"shortName" : "tenanta_app11",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ioi9f4670h1c4866deg78722e2921f5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication12",
"type" : "SINK",
"shortName" : "tenanta_app12",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dhi9f4200h1c4230deg74322e2931e49",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication13",
"type" : "SINK",
"shortName" : "tenanta_app13",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ebd8f4670h1c4866deg78722e2930e3f",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication2",
"type" : "Java",
"shortName" : "tenanta_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication2 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication3",
"type" : "Java",
"shortName" : "tenanta_app3",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication3 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication7",
"type" : "SINK",
"shortName" : "tenanta_app7",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ead8f4670h1c4866deg78722e2930e3f",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication8",
"type" : "SINK",
"shortName" : "tenanta_app8",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fbe9f4670h1c4866deg78722e2931e4g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication9",
"type" : "SINK",
"shortName" : "tenanta_app9",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ghi9f4670h1c4866deg78722e2931e4g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination1",
"type" : "Java",
"shortName" : "tenanta_app_pagination1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination10",
"type" : "Java",
"shortName" : "tenanta_app_pagination10",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "a2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination11",
"type" : "Java",
"shortName" : "tenanta_app_pagination11",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831c74ff6beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination2",
"type" : "Java",
"shortName" : "tenanta_app_pagination2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2f98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination3",
"type" : "Java",
"shortName" : "tenanta_app_pagination3",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831a74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination4",
"type" : "Java",
"shortName" : "tenanta_app_pagination4",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831cc4ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination5",
"type" : "Java",
"shortName" : "tenanta_app_pagination5",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e92e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination6",
"type" : "Java",
"shortName" : "tenanta_app_pagination6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831c74ff1beb09510d0bf7e17",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination7",
"type" : "Java",
"shortName" : "tenanta_app_pagination7",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831c74ff1beb09510d0bf7377",
"_links" : {
"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" : "Indication that an entity can be created"
}, {
"href" : "...",
"title" : "Indication that an entity can be created"
} ]
},
"page" : {
"size" : 20,
"totalElements" : 27,
"totalPages" : 2,
"number" : 0
}
}
/applications/search/findByShortName
The endpoint is deprecated. Please refer to /applications/search/findByAttributes for searching an application. |
Search for an application by exact short_name
.
Request parameters
Parameter | Description |
---|---|
|
Application short name to search for |
HTTP request
GET /applications/search/findByShortName?shortName=tenanta_app1 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: 1034
{
"_embedded" : {
"applications" : [ {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/applications/search/findByApplicationId
The endpoint is deprecated. Please refer to /applications/search/findByAttributes for searching an application. |
Search for an application by applicationId
containing search term.
Request parameters
Parameter | Description |
---|---|
|
Application Id to search for |
HTTP request
GET /applications/search/findByApplicationId?applicationId=nl.tenanta.app1 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: 3642
{
"name" : "tenantaApplication1",
"shortName" : "tenanta_app1",
"description" : "tenantaApplication1 description.",
"applicationType" : "Custom",
"type" : "Java",
"applicationClass" : null,
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"members" : [ {
"firstName" : "envAuthor",
"emailAddress" : {
"email" : "envauthor@tenanta.nl"
},
"lastName" : "TenantA",
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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",
"phoneNumber" : null,
"middleName" : 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"
} ]
}
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.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"
}
}
}
/applications/search/findByApplicationType
The endpoint is deprecated. Please refer to /applications/search/findByAttributes for searching an application. |
Search for an application by applicationType
term.
search all custom applications
The endpoint is deprecated. Please refer to /applications/search/findByAttributes for searching an application. |
Request parameters
Parameter | Description |
---|---|
|
Type of applications to search for. |
|
Property to define the page size. |
HTTP request
GET /applications/search/findByApplicationType?applicationType=CUSTOM&size=10 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: 8982
{
"_embedded" : {
"applications" : [ {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication2",
"type" : "Java",
"shortName" : "tenanta_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication2 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication3",
"type" : "Java",
"shortName" : "tenanta_app3",
"visibility" : "private",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication3 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924512",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaPrivApp3",
"type" : "Java",
"shortName" : "tenanta_priv_app3_2",
"visibility" : "private",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaPrivApp3 description.",
"uid" : "f692ca5191764258b7257a6b2a7fb188",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "testRevoke",
"type" : "Java",
"shortName" : "test_revoke",
"visibility" : "private",
"owners" : {
"name" : "Team Kad",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841869644c2ad8b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "39d82d7994484b53ae1de37ee8924512",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaAutoApplication3",
"type" : "Java",
"shortName" : "tenanta_auto_app3",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "4cc380171afc4c898b6f6c02caccf451",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaAutoApplication4",
"type" : "Java",
"shortName" : "tenanta_auto_app4",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "aec9e4570f1c4866bef77722e2830d4b",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantaApplication5",
"type" : "Java",
"shortName" : "tenanta_app5",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fdc9e4570f1c4866bef77722e2830d5g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenantbApplication2",
"type" : "Java",
"shortName" : "tenantb_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "d2e98e1831c74ff1beb09510d0bf7e77",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : null,
"name" : "tenanta_app_pagination1",
"type" : "Java",
"shortName" : "tenanta_app_pagination1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "c2e98e1831c74ff1beb09510d0bf7e77",
"_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" : "..."
},
"create" : {
"href" : "...",
"title" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 10,
"totalElements" : 20,
"totalPages" : 2,
"number" : 0
}
}
search all connector applications
The endpoint is deprecated. Please refer to /applications/search/findByAttributes for searching an application. |
Request parameters
Parameter | Description |
---|---|
|
Type of applications to search for. |
|
Property to define the page size. |
HTTP request
GET /applications/search/findByApplicationType?applicationType=CONNECTOR&size=2 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: 2221
{
"_embedded" : {
"applications" : [ {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}, {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication7",
"type" : "SINK",
"shortName" : "tenanta_app7",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "ead8f4670h1c4866deg78722e2930e3f",
"_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" : "..."
},
"create" : {
"href" : "...",
"title" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 2,
"totalElements" : 8,
"totalPages" : 4,
"number" : 0
}
}
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" : 2,
"activeDeploymentsCount" : 0
}
Delete application
A DELETE
request is used to delete an Application
.
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
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: 1481
{
"title" : "Application credential",
"properties" : {
"uid" : {
"title" : "Uid",
"readOnly" : true,
"type" : "string"
},
"environment" : {
"title" : "Environment",
"readOnly" : false,
"type" : "string",
"format" : "uri"
},
"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"
},
"type" : {
"title" : "Type",
"readOnly" : false,
"type" : "string",
"enum" : [ "SCRAM_SHA_256", "SCRAM_SHA_512" ]
},
"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" : { },
"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 |
type |
String |
A valid type of application credentials. Possible types are |
|
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' \
-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",
"type" : "SCRAM_SHA_256",
"description" : "test"
}'
HTTP request
POST /application_credentials/ HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 236
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"application" : "http://api.example.com/applications/39d82d7f34484b53ae1dd47ee8924512",
"environment" : "http://api.example.com/environments/047ab08009fe4da8be6905b55552ab52",
"type" : "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: 158
{
"uid" : "b2c49db624604c42827127b1e7b7c059",
"username" : "tenanta_app3tenantaenv1-1921068900",
"password" : "ltOiwUFUdW",
"type" : "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: 10981
{
"id" : "1e9ee6ce053c46b0932358c7403a56fd",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv1 - 1336640963",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "1e9ee6ce053c46b0932358c7403a56fd",
"created_at" : "2021-09-05T13:16:00.775",
"modified_at" : "2021-09-06T13:16:00.775",
"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 |
---|---|
|
A valid Application Id |
|
A valid Environment Id |
|
A valid type of application credentials. Possible types are |
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: 21968
[ {
"id" : "1e9ee6ce053c46b0932358c7403a56fd",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv1 - 1336640963",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "1e9ee6ce053c46b0932358c7403a56fd",
"created_at" : "2021-09-05T13:16:00.775",
"modified_at" : "2021-09-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
}, {
"id" : "2f8ff6de053c46b0932358c7403a57ge",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv2 - 1336640583",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "2f8ff6de053c46b0932358c7403a57ge",
"created_at" : "2021-08-05T13:16:00.775",
"modified_at" : "2021-08-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
} ]
ApplicationCredentials search endpoints
/application_credentials/search/findByApplicationId
Returns all application credentials for given Application
and SASL mechanism/type
.
Request parameters
Parameter | Description |
---|---|
|
A valid Application Id |
|
A valid type of application credentials. Possible types are |
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: 21968
[ {
"id" : "1e9ee6ce053c46b0932358c7403a56fd",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv1 - 1336640963",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "1e9ee6ce053c46b0932358c7403a56fd",
"created_at" : "2021-09-05T13:16:00.775",
"modified_at" : "2021-09-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
}, {
"id" : "2f8ff6de053c46b0932358c7403a57ge",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv2 - 1336640583",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "2f8ff6de053c46b0932358c7403a57ge",
"created_at" : "2021-08-05T13:16:00.775",
"modified_at" : "2021-08-06T13:16:00.775",
"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: 21968
[ {
"id" : "1e9ee6ce053c46b0932358c7403a56fd",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv1 - 1336640963",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "1e9ee6ce053c46b0932358c7403a56fd",
"created_at" : "2021-09-05T13:16:00.775",
"modified_at" : "2021-09-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
}, {
"id" : "2f8ff6de053c46b0932358c7403a57ge",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv2 - 1336640583",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "2f8ff6de053c46b0932358c7403a57ge",
"created_at" : "2021-08-05T13:16:00.775",
"modified_at" : "2021-08-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
} ]
/application_credentials/search/findByApplicationIdAndEnvironmentId
Returns all application credentials for given Application
, Environment
and SASL mechanism/type
.
Request parameters
Parameter | Description |
---|---|
|
A valid Application Id |
|
A valid Environment Id |
|
A valid type of application credentials. Possible types are |
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: 21968
[ {
"id" : "1e9ee6ce053c46b0932358c7403a56fd",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv1 - 1336640963",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "1e9ee6ce053c46b0932358c7403a56fd",
"created_at" : "2021-09-05T13:16:00.775",
"modified_at" : "2021-09-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
}, {
"id" : "2f8ff6de053c46b0932358c7403a57ge",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv2 - 1336640583",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "2f8ff6de053c46b0932358c7403a57ge",
"created_at" : "2021-08-05T13:16:00.775",
"modified_at" : "2021-08-06T13:16:00.775",
"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: 21968
[ {
"id" : "1e9ee6ce053c46b0932358c7403a56fd",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv1 - 1336640963",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "1e9ee6ce053c46b0932358c7403a56fd",
"created_at" : "2021-09-05T13:16:00.775",
"modified_at" : "2021-09-06T13:16:00.775",
"created_by" : null,
"modified_by" : null
}, {
"id" : "2f8ff6de053c46b0932358c7403a57ge",
"optLock" : 0,
"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"
} ],
"uid" : "9e66c8d7cd5c4e509ec0fe840ef37c62",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
}, {
"id" : "51234a7a81994d1ca35ca7894cde08c6",
"optLock" : 0,
"firstName" : "appOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "appowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "51234a7a81994d1ca35ca7894cde08c6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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"
} ],
"uid" : "7cb463240b8049578b298c214c28512a",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"allApplicationIds" : [ "nl.tenanta.app1" ],
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"applicationId" : "nl.tenanta.app1"
},
"environment" : {
"id" : "047ab08009fe4da8be6905b55552ab52",
"optLock" : 0,
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"instance" : {
"id" : "b9301e9144324928911f7d83ec40c478",
"optLock" : 0,
"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" : [ {
"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" : [ ],
"uid" : "543c3b7d55634eba83b1472775c131c4"
},
"schemaRegistryUrls" : "https://schema.local3"
}, {
"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"
} ],
"uid" : "66c12e25ab06458eac988f0d700fbe81"
},
"schemaRegistryUrls" : "https://schema.local1,https://schema.local2"
} ],
"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
} ],
"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,
"connectUrls" : "https://connect1.url,https://connect2.url",
"uid" : "b9301e9144324928911f7d83ec40c478",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "1759cc36cacd4dc28ed1b0336e22e06d",
"optLock" : 0,
"firstName" : "envOwner",
"lastName" : "TenantA",
"middleName" : null,
"emailAddress" : {
"email" : "envowner@tenanta.nl"
},
"phoneNumber" : null,
"roles" : [ ],
"uid" : "1759cc36cacd4dc28ed1b0336e22e06d",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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" : "STREAM_ADMIN"
}, {
"name" : "TENANT_ADMIN"
}, {
"name" : "APPLICATION_ADMIN"
}, {
"name" : "ENVIRONMENT_ADMIN"
} ],
"uid" : "cedccd5c6d9e424ab1a9d9f767fc7cfd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
} ],
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "aac290536035440e9a85f193e4affeb3",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"username" : "tenanta_app1tenantaenv2 - 1336640583",
"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",
"logo" : "tenanta.png",
"issuerUrl" : "http://api.example.com/auth/realms/tenanta",
"dataClassificationEnabled" : false,
"featureConfig" : "{\"userLimit\": 2,\"group\":1}",
"contact" : null,
"retentionTime" : 604800000,
"partitions" : 12,
"supportedAuthenticationMethods" : [ {
"rank" : 0,
"protocol" : "SSL",
"mechanism" : "MUTUAL_TLS"
}, {
"rank" : 2,
"protocol" : "SASL",
"mechanism" : "OAUTH_BEARER"
}, {
"rank" : 1,
"protocol" : "SASL",
"mechanism" : "SCRAM_SHA_256"
} ],
"uid" : "55ef719629a94a07b9bf8ac0f3c495e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"uid" : "2f8ff6de053c46b0932358c7403a57ge",
"created_at" : "2021-08-05T13:16:00.775",
"modified_at" : "2021-08-06T13:16:00.775",
"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' \
-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
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/4fb6f321c625463c84260b9556e21e5f"
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' \
-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
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/7da5455cf5c1443c9a94c84b02fbdd28"
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.
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' \
-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
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/57a63b00a2414453ad5ed17fdae2a50e,http://api.example.com/application_principals/7bf4767410804cd6bf788ff2baf4c3ae,http://api.example.com/application_principals/3bad6b76d9f24bc0924906babb11d672"
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' \
-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
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/ff2673db94864560a4de662f92b8b301"
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: 2503
{
"principal" : "principal 1 test",
"applicationPem" : "principal 1 test",
"principalChain" : null,
"privateKeyPem" : null,
"privateKeyUploaded" : null,
"expiresOn" : null,
"uid" : "1e9ee6ce053c46b0932358c8503a26fd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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
Relation | Description |
---|---|
|
Existence of this link indicates that the currently authenticated user can delete this ApplicationPrincipal |
Update 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
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
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 |
---|---|
|
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: 3049
{
"_embedded" : {
"application_principals" : [ {
"principal" : "principal 1 test",
"applicationPem" : "principal 1 test",
"principalChain" : null,
"privateKeyPem" : null,
"privateKeyUploaded" : null,
"expiresOn" : null,
"uid" : "1e9ee6ce053c46b0932358c8503a26fd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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 |
---|---|
|
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: 3068
{
"_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,
"privateKeyUploaded" : null,
"expiresOn" : null,
"uid" : "177d7b6b14594e8d8e51186eff59408b",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"application" : {
"applicationClass" : null,
"name" : "tenantaAutoApplication3",
"type" : "Java",
"shortName" : "tenanta_auto_app3",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "4cc380171afc4c898b6f6c02caccf451",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"environment" : {
"name" : "tenantaprivenv1",
"shortName" : "tenantaprivenv1",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "46cfaf47d2d04d12923beefac3d0ba5a",
"_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 |
---|---|
|
A valid URI of an existing Application |
|
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: 3049
{
"_embedded" : {
"application_principals" : [ {
"principal" : "principal 1 test",
"applicationPem" : "principal 1 test",
"principalChain" : null,
"privateKeyPem" : null,
"privateKeyUploaded" : null,
"expiresOn" : null,
"uid" : "1e9ee6ce053c46b0932358c8503a26fd",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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.
Create application access
A POST
request is used to create a new ApplicationAccess
. The request should include reference to
a valid existing stream and application.
Request fields
Path | Type | Description | Constraints |
---|---|---|---|
accessType |
String |
The access type of the application. Can be PRODUCER or CONSUMER only. |
Must not be null |
application |
String |
A valid URI of an existing |
Must not be null |
stream |
String |
A valid URI of an existing |
Must not be null |
Curl request
$ curl 'http://api.example.com/application_access' -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 '{
"accessType" : "PRODUCER",
"application" : "http://api.example.com/applications/5ffc4240fcdf4a479a16f2b0b12ab909",
"stream" : "http://api.example.com/streams/91105915be694c0d9dd2301ff54153f0"
}'
HTTP request
POST /application_access 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: 201
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"accessType" : "PRODUCER",
"application" : "http://api.example.com/applications/5ffc4240fcdf4a479a16f2b0b12ab909",
"stream" : "http://api.example.com/streams/91105915be694c0d9dd2301ff54153f0"
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Tue, 16 Aug 2022 14:07:45 GMT
Location: http://api.example.com/application_access/e301fdf8f3d648aa9a97225004c82dbb
Content-Type: application/hal+json
Content-Length: 3151
{
"accessType" : "PRODUCER",
"uid" : "e301fdf8f3d648aa9a97225004c82dbb",
"created_at" : "2022-08-16T14:07:45.144904",
"modified_at" : "2022-08-16T14:07:45.144904",
"created_by" : "poweruser@tenanta.nl",
"modified_by" : "poweruser@tenanta.nl",
"_embedded" : {
"stream" : {
"name" : "tenanta-stream3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f0",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"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
}
}
}
Retrieve application access
The application_access/{id}
resource is used to retrieve a single access of an application.
A GET
request will retrieve the details of a ApplicationAccess
.
HTTP request
GET /application_access/fedb6478bfd640caa02f5e5893c62bf0 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: 5397
{
"accessType" : "PRODUCER",
"uid" : "fedb6478bfd640caa02f5e5893c62bf0",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_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" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_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
}
}
}
Links
Relation | Description |
---|---|
|
The |
|
The |
|
All |
|
Link to indicate that the currently authenticated user can create application access requests |
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/findByApplication
Returns all application access for given Application
.
Parameter | Description |
---|---|
|
A valid URI of an existing Application |
GET /application_access/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: 6327
{
"_embedded" : {
"application_access" : [ {
"accessType" : "PRODUCER",
"uid" : "fedb6478bfd640caa02f5e5893c62bf0",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_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" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_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
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/application_access/search/findByStream
Returns all application access for given Stream
.
Parameter | Description |
---|---|
|
A valid URI of an existing Stream |
GET /application_access/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: 23098
{
"_embedded" : {
"application_access" : [ {
"accessType" : "PRODUCER",
"uid" : "fedb6478bfd640caa02f5e5893c62bf0",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_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" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_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
}
}
}, {
"accessType" : "CONSUMER",
"uid" : "ojxg60zh4pt1i83pdio7fql0zdpw4q85",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication2",
"type" : "Java",
"shortName" : "tenanta_app2",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication2 description.",
"uid" : "39d82d7f34484b53ae1dd47ee8924502",
"_links" : {
"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
}
}
}, {
"accessType" : "CONSUMER",
"uid" : "ojxg60zh4pt4203pdio7fql0zdpw4q85",
"created_at" : "2020-11-01T23:16:23.774",
"modified_at" : "2020-11-01T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "testRevoke",
"type" : "Java",
"shortName" : "test_revoke",
"visibility" : "private",
"owners" : {
"name" : "Team Kad",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841869644c2ad8b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "39d82d7994484b53ae1de37ee8924512",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaprivenv5",
"shortName" : "tenantaprivenv5",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "420ly0dy72gi123r2m2n56m93ht25wy9",
"_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
}
}
}, {
"accessType" : "PRODUCER",
"uid" : "d2150841af85449c96d9556a8e0c9290",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaAutoApplication4",
"type" : "Java",
"shortName" : "tenanta_auto_app4",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "aec9e4570f1c4866bef77722e2830d4b",
"_links" : {
"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
}
}
}, {
"accessType" : "PRODUCER",
"uid" : "e3450841af85449c96d9556a8e0c9678",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication5",
"type" : "Java",
"shortName" : "tenanta_app5",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fdc9e4570f1c4866bef77722e2830d5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Rejected",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "dd24e0110f7b45ec98d62f6ff8136ae7",
"_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
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/application_access/search/findByApplicationAndStream
Returns the access of an Application
for a Stream
.
Parameter | Description |
---|---|
|
A valid URI of an existing Stream |
|
A valid URI of an existing Application |
GET /application_access/search/findByApplicationAndStream?stream=http%3A%2F%2Flocalhost%2Fstreams%2F066f5944d16344f88c9214d240d139dc&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: 6327
{
"_embedded" : {
"application_access" : [ {
"accessType" : "PRODUCER",
"uid" : "fedb6478bfd640caa02f5e5893c62bf0",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_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" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_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
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/application_access/search/findByEnvironment
Returns all application access for given Environment
.
Parameter | Description |
---|---|
|
A valid URI of an existing Environment |
GET /application_access/search/findByEnvironment?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: 11162
{
"_embedded" : {
"application_access" : [ {
"accessType" : "PRODUCER",
"uid" : "fedb6478bfd640caa02f5e5893c62bf0",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_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" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_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
}
}
}, {
"accessType" : "PRODUCER",
"uid" : "e3450841af85449c96d9556a8e0c9678",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication5",
"type" : "Java",
"shortName" : "tenanta_app5",
"visibility" : "public",
"owners" : {
"name" : "Team App Admins",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4oit834841869644c2ad8b439997",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "fdc9e4570f1c4866bef77722e2830d5g",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Rejected",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "dd24e0110f7b45ec98d62f6ff8136ae7",
"_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
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/application_access/search/findByGrantsContaining
Returns all application access for given ApplicationAccessGrant
.
Parameter | Description |
---|---|
|
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: 5397
{
"accessType" : "PRODUCER",
"uid" : "fedb6478bfd640caa02f5e5893c62bf0",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"application" : {
"applicationClass" : null,
"name" : "tenantaApplication1",
"type" : "Java",
"shortName" : "tenanta_app1",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "tenantaApplication1 description.",
"uid" : "5ffc4240fcdf4a479a16f2b0b12ab909",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_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" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_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
on one or more Environment
.
The request should include references to a valid existing environment.
HTTP request
POST /application_access/d2150841af85449c96d9556a8e0c9290/grants HTTP/1.1
Content-Type: text/uri-list
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 62
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
http://localhost/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_access_grants/81b8fdd81aa149a6acbed255adc8ef0c
Cancel a pending ApplicationAccessGrant
To cancel a grant that was already requested (in Pending state), call DELETE
method on /application_access_grants/uid
endpoint. The URI of the environments should be included in the request body.
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 endpoint /application_access/uid/authorizations is deprecated. Please refer to Approve a pending ApplicationAccessGrant for
requesting/approving an application access grant.
|
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: text/uri-list
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 Environment
The endpoint /application_access/uid/authorizations is deprecated. Please refer to Revoke/Deny an authorization request for an Environment for
requesting/approving an application access grant.
|
StreamOwner
can DENY
or REVOKE
an ApplicationAccessGrant
by using DELETE
method on application_access/uid/grants
.
ApplicationOwner
can CANCEL
or REVOKE
an ApplicationAccessGrant
by using DELETE
method on application_access/uid/grants
.
It’s also possible to specify a comment/reason beside the request.
EnvironmentOwner can REVOKE an ApplicationAccessGrant for their PRIVATE environments.
|
HTTP request
DELETE /application_access/fedb6478bfd640caa02f5e5893c62bf0/grants HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Content-Length: 115
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"reason" : "Not allowed.",
"environment" : "http://localhost/environments/e11ee2dd976647109ca904dd8adc050f"
}
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Searching grants by Stream
In order to search for grants for a specific Stream call the endpoint application_access_grants/search/findByStream
.
Request parameters
Parameter | Description |
---|---|
|
The stream to search for |
HTTP request
GET /application_access_grants/search/findByStream?stream=http%3A%2F%2Flocalhost%2Fstreams%2F066f5944d16344f88c9214d240d139dc 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: 4977
{
"_embedded" : {
"application_access_grants" : [ {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaenv2",
"shortName" : "tenantaenv2",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaprivenv5",
"shortName" : "tenantaprivenv5",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "420ly0dy72gi123r2m2n56m93ht25wy9",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Rejected",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "dd24e0110f7b45ec98d62f6ff8136ae7",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
Searching actionable application access requests
In order to search for actionable application access requests for the user that is currently logged in.
Actionable items:
-
ApplicationAccessGrant which is not approved or denied yet
HTTP request
GET /application_access_grants/search/findActionable 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: 275
{
"_embedded" : {
"application_access_grants" : [ ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 0,
"totalPages" : 0,
"number" : 0
}
}
Searching informative application access requests with a specific status type
In order to search for non-actionable (informative) application access requests for the user that is currently logged in for a specific status type.
Status types:
-
PENDING
-
APPROVED
-
REJECTED
-
CANCELLED
-
REVOKED
Non-actionable (informative) items:
-
Items pending
-
Approved
-
Denied
Request parameters
Parameter | Description |
---|---|
|
Any valid status as mentioned above. |
HTTP request
GET /application_access_grants/search/findInformative?status=PENDING 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: 1474
{
"_embedded" : {
"application_access_grants" : [ {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
Searching informative application access requests for all status types
In order to search for non-actionable (informative) application access requests for the user that is currently logged in for all status types.
Non-actionable (informative) items:
-
Items pending
-
Approved
-
Denied
HTTP request
GET /application_access_grants/search/findAllInformative 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: 12281
{
"_embedded" : {
"application_access_grants" : [ {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaenv2",
"shortName" : "tenantaenv2",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "764c61795cc4438ca8ea5aca262c8e70",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Pending",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad6",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaprivenv4",
"shortName" : "tenantaprivenv4",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "83c1b34b0c6744dcadb85f4c188518g5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "875d61795cc4438ca8ea5aca262c8f80",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Rejected",
"environment" : {
"properties" : { },
"name" : "tenantaprivenv2",
"shortName" : "tenantaprivenv2",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "61b1b34b0c6744dcadb85f4c188517e5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "984e61795cc4438ca8ea5aca262c8g91",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaprivenv5",
"shortName" : "tenantaprivenv5",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "oqqly0dy72gi1npr2mfl56m99mt25wy9",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Cancelled",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "cc13e0110f7b45ec98d62f6ff8136ad4",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaprivenv5",
"shortName" : "tenantaprivenv5",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Auto",
"visibility" : "private",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : true,
"autoApproved" : true,
"uid" : "6u2577bclboz97ievex0fv5hvysemooh",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "420ly0dy72gi123r2m2n56m93ht25wy9",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Rejected",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "dd24e0110f7b45ec98d62f6ff8136ae7",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "dd23e0110f7b45ec98d62f6ff8136ad6",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
}, {
"comment" : null,
"status" : "Approved",
"environment" : {
"properties" : { },
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"description" : "environment",
"color" : null,
"authorizationIssuer" : "Stream owner",
"visibility" : "public",
"retentionTime" : 604800000,
"partitions" : 12,
"private" : false,
"autoApproved" : false,
"uid" : "047ab08009fe4da8be6905b55552ab52",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"requestedAt" : null,
"requestedBy" : null,
"processedAt" : null,
"processedBy" : null,
"uid" : "fh33e0110f7b45ec98d62f6ff8137bf6",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"applicationAccessGrant" : {
"href" : "...",
"templated" : true
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 10,
"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 |
|
environment |
String |
A valid URI of an existing |
|
application |
String |
A valid URI of an existing |
Curl request
$ curl 'http://api.example.com/application_deployments' -i -X POST \
-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" : {
"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
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
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/5ef33c3914db4921b3933163e15e9f41
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: 2655
{
"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.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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"
}
}
},
"application" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"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"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
}
Links
Relation | Description |
---|---|
|
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 |
---|---|
|
A valid action to perform on the deployment |
PUT /application_deployments/2f8ff6ce053c46b0932358c7403a57ge/task/2/operation 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
Content-Type: application/x-www-form-urlencoded
action=RESTART_TASK
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: 2305
{
"pluginConfigs" : [ {
"name" : "key.converter",
"type" : "CLASS",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "LOW",
"documentation" : null,
"pluginConfigState" : "New"
}, {
"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"
}, {
"name" : "name",
"type" : "STRING",
"required" : true,
"defaultValue" : null,
"providedValue" : "Axual Logger",
"importance" : "HIGH",
"documentation" : "Globally unique name to use for this connector.",
"pluginConfigState" : "Existing"
}, {
"name" : "customeKey",
"type" : null,
"required" : false,
"defaultValue" : null,
"providedValue" : "Custom Value",
"importance" : null,
"documentation" : null,
"pluginConfigState" : "Custom"
}, {
"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"
}, {
"name" : "transforms",
"type" : "LIST",
"required" : true,
"defaultValue" : "",
"providedValue" : "",
"importance" : "LOW",
"documentation" : "Aliases for the transformations to be applied to records.",
"pluginConfigState" : "New"
}, {
"name" : "tasks.max",
"type" : "INT",
"required" : true,
"defaultValue" : null,
"providedValue" : null,
"importance" : "LOW",
"documentation" : null,
"pluginConfigState" : "New"
} ],
"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 |
---|---|
|
A valid URI of an existing Application |
|
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: 3242
{
"_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.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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"
}
}
},
"application" : {
"applicationClass" : "io.axual.test.sink.plugin",
"name" : "tenantaApplication6",
"type" : "SINK",
"shortName" : "tenanta_app6",
"visibility" : "public",
"owners" : {
"name" : "Application-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "c339c5cf9b5a4f6b8342c6ea2f9b6775",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"description" : "",
"uid" : "dbc9e4670h1c4866deg78722e2930d2g",
"_links" : {
"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"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"application" : {
"href" : "...",
"templated" : true,
"title" : "An application"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
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 Perform action
/application_deployments/operation
Perform an action for an application deployment : The valid actions are: START, STOP, RESET, DELETE.
Parameter | Description |
---|---|
|
A valid action to perform on the deployment |
PUT /application_deployments/1e9ee6ce053c46b0932358c7403a56fd/operation 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
action=START
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: 32458
{
"_embedded" : {
"streams" : [ {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream2",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : {
"level" : "L2",
"description" : "This is level 2",
"color" : "yellow",
"uid" : "247ab03ffafe4da2bet905b5e352ab53",
"created_at" : "2019-06-08T23:16:23.774",
"modified_at" : "2019-06-08T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"confidentiality" : {
"level" : "L2",
"description" : "L2 confidentiality",
"color" : "blue",
"uid" : "648ab08009fe4da8be6905b55552ac43",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "a549f500d879419c9f5efa5d3cada7b3",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream-avro-string",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "a532f500d879419fff5efa5d3cada7b3",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f0",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream4",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d9dd2301ff54153f0",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination1",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination2",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be614c0d9dd2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153fc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination4",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "66605915be694c0d9dd2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination5",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915becc4c0d9dd2301ff54153f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination6",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "311ac915be694c0d9dd2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination7",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91195915be694c0d9dd2301ff54111f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination8",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31bbb915be694c0d9dd2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination9",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "41105915be694c0d9dd2301ff54153f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination10",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "21105915be694c0d9dd2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination11",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "9110591abe694c0d9dd2301ff54153f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination12",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915ba694c0d9da2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination13",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9df2301ff54153f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination14",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d6dd2301ff54153f2",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}, {
"name" : "tenanta-stream_pagination15",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be695c0d9dd2301ff54153f1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
} ]
},
"_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" : "Indication that an entity can be created"
}
},
"page" : {
"size" : 20,
"totalElements" : 23,
"totalPages" : 2,
"number" : 0
}
}
Links
Relation | Description |
---|---|
|
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 |
---|---|
A JSON like data model with sophisticated schema description. |
|
|
Data structured in JSON format. |
|
A plain text data with no format. |
|
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 |
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 |
Must not be null |
keyType |
String |
Key type of Stream. Can be one of |
Must not be null |
valueType |
String |
Value type of Stream. Can be one of |
Must not be null |
keySchema |
String |
A URI of an existing Schema. Only needed when |
|
valueSchema |
String |
A URI of an existing Schema. Only needed when |
|
integrity |
String |
A URI of an existing Integrity. Only needed when |
|
confidentiality |
String |
A URI of an existing Confidentiality. Only needed when |
Curl request
$ curl 'http://api.example.com/streams' -i -X POST \
-H 'Content-Type: application/json' \
-H 'X-XSRF-TOKEN: XSRF-TOKEN' \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta' \
--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
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
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
Location: http://api.example.com/streams/01c9f7ec6041498cbec917e19eeb2a82
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: 2589
{
"properties" : { },
"name" : "tenanta-stream1",
"description" : null,
"keyType" : "AVRO",
"valueType" : "AVRO",
"retentionPolicy" : "delete",
"uid" : "066f5944d16344f88c9214d240d139dc",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : "strauthor@tenanta.nl",
"modified_by" : "strauthor@tenanta.nl",
"_embedded" : {
"valueSchema" : {
"name" : "nl.tenanta.value-schema1",
"description" : "",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_links" : {
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
},
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"_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",
"_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"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
}
Links
Relation | Description |
---|---|
|
Version of the Key schema definition |
|
Version of the Value schema definition |
|
The group of users allowed to access/update the environment. |
|
UID of the Integrity level definition |
|
UID of the Confidentiality level definition |
|
Existence of this link indicates that the currently authenticated user can edit this Stream |
|
Existence of this link indicates that the currently authenticated user can 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' \
--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
Content-Length: 28
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"retentionTime" : 2000
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Stream search endpoints
/streams/search/findByName
Search for a stream by exact name.
Parameter | Description |
---|---|
|
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: 1716
{
"_embedded" : {
"streams" : [ {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/streams/search/findByNameContaining
Search for a stream by name containing search term.
Parameter | Description |
---|---|
|
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: 30553
{
"_embedded" : {
"streams" : [ {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream2",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : {
"level" : "L2",
"description" : "This is level 2",
"color" : "yellow",
"uid" : "247ab03ffafe4da2bet905b5e352ab53",
"created_at" : "2019-06-08T23:16:23.774",
"modified_at" : "2019-06-08T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"confidentiality" : {
"level" : "L2",
"description" : "L2 confidentiality",
"color" : "blue",
"uid" : "648ab08009fe4da8be6905b55552ac43",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "a549f500d879419c9f5efa5d3cada7b3",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream-avro-string",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "a532f500d879419fff5efa5d3cada7b3",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f0",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream4",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d9dd2301ff54153f0",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination1",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination2",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be614c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153fc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination4",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "66605915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination5",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915becc4c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination6",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "311ac915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination7",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91195915be694c0d9dd2301ff54111f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination8",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31bbb915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination9",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "41105915be694c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination10",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "21105915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination11",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "9110591abe694c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination12",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915ba694c0d9da2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination13",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9df2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination14",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d6dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination15",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be695c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"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" : "Indication that an entity can be created"
}, {
"href" : "...",
"title" : "Indication that an entity can be created"
} ]
},
"page" : {
"size" : 20,
"totalElements" : 23,
"totalPages" : 2,
"number" : 0
}
}
/streams/search/findByNameContaining
Search for a stream by name containing search term and order by a nested property.
Parameter | Description |
---|---|
|
Term to search within stream name. |
|
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: 30556
{
"_embedded" : {
"streams" : [ {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream-avro-string",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "a532f500d879419fff5efa5d3cada7b3",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream2",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : {
"level" : "L2",
"description" : "This is level 2",
"color" : "yellow",
"uid" : "247ab03ffafe4da2bet905b5e352ab53",
"created_at" : "2019-06-08T23:16:23.774",
"modified_at" : "2019-06-08T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"confidentiality" : {
"level" : "L2",
"description" : "L2 confidentiality",
"color" : "blue",
"uid" : "648ab08009fe4da8be6905b55552ac43",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "a549f500d879419c9f5efa5d3cada7b3",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f0",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream4",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d9dd2301ff54153f0",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination1",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination10",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "21105915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination11",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "9110591abe694c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination12",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915ba694c0d9da2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination13",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9df2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination14",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d6dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination15",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be695c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination16",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be624c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination17",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9ddc301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination18",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be694c0d9dd2302cf54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination2",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "31105915be614c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination3",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915be694c0d9dd2301ff54153fc",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination4",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "66605915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination5",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "91105915becc4c0d9dd2301ff54153f1",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"self" : {
"href" : "...",
"templated" : true,
"title" : "URI pointing to current request"
}
}
}, {
"name" : "tenanta-stream_pagination6",
"owners" : {
"name" : "Team Null",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "514d4e9a834841699644c2420b439553",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "311ac915be694c0d9dd2301ff54153f2",
"_links" : {
"valueSchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for value"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality configured for the object"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"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" : "Indication that an entity can be created"
}, {
"href" : "...",
"title" : "Indication that an entity can be created"
} ]
},
"page" : {
"size" : 20,
"totalElements" : 23,
"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" : 3,
"activeGrantsCount" : 3
}
Delete stream
A DELETE
request is used to delete a Stream
.
$ 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
Browse stream
Browsing the content of a stream can include different search parameters.
A GET
request is used to browse the content of a Stream
.
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?fromTime=1566803819&toTime=1566803820&query=text&page=0&pageSize=20' -i -X GET \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta'
GET /streams/c082e097545948dcbd0cf993128d3fc2/browse?fromTime=1566803819&toTime=1566803820&query=text&page=0&pageSize=20 HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 121
{
"messages" : [ ],
"page" : {
"size" : 20,
"totalElements" : 0,
"totalPages" : 0,
"number" : 0
}
}
Browse stream access
A GET
request is used to determine if the user has the permissions to view the content of a stream.
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-access' -i -X GET \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta'
GET /streams/c082e097545948dcbd0cf993128d3fc2/browse-access HTTP/1.1
Authorization: Bearer token
realm: tenanta
Host: api.example.com
HTTP/1.1 200 OK
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=Boxtel' -i -X GET \
-H 'Authorization: Bearer token' \
-H 'realm: tenanta'
GET /streams/c082e097545948dcbd0cf993128d3fc2/browse-config?selectedCluster=Boxtel 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"
}
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" ]
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' \
-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
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: 456
{
"errors" : [ {
"entity" : "StreamConfig",
"property" : "properties",
"invalidValue" : {
"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"
},
"message" : "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' \
-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
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: Tue, 16 Aug 2022 14:06:21 GMT
Location: http://api.example.com/stream_configs/9057487eac624bc4adc4907339bf5e00
Content-Type: application/hal+json
Content-Length: 4099
{
"properties" : {
"max.compaction.lag.ms" : "60000",
"segment.ms" : "172800000"
},
"retentionTime" : 10000,
"partitions" : 12,
"uid" : "9057487eac624bc4adc4907339bf5e00",
"created_at" : "2022-08-16T14:06:21.079748",
"modified_at" : "2022-08-16T14:06:21.079748",
"created_by" : "poweruser@tenanta.nl",
"modified_by" : "poweruser@tenanta.nl",
"_embedded" : {
"stream" : {
"name" : "tenanta-stream2",
"owners" : {
"name" : "Stream-tenAApplication2",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "88eb98e0eff34fde923c15687e6d75d5",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : {
"level" : "L2",
"description" : "This is level 2",
"color" : "yellow",
"uid" : "247ab03ffafe4da2bet905b5e352ab53",
"created_at" : "2019-06-08T23:16:23.774",
"modified_at" : "2019-06-08T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"confidentiality" : {
"level" : "L2",
"description" : "L2 confidentiality",
"color" : "blue",
"uid" : "648ab08009fe4da8be6905b55552ac43",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null
},
"description" : null,
"uid" : "a549f500d879419c9f5efa5d3cada7b3",
"_links" : {
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality 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"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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"
},
"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"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"keySchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for key"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"valueSchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for value"
}
}
}
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: 3392
{
"properties" : {
"segment.ms" : "696969"
},
"retentionTime" : 10000,
"partitions" : 12,
"uid" : "c082e097545948dcbd0cf993128d3fc2",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality 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"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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"
},
"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"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"keySchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for key"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"valueSchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for value"
}
}
}
Links
Relation | Description |
---|---|
|
Existence of this link indicates that the currently authenticated user can edit this StreamConfig |
|
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' \
--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
Content-Length: 29
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"retentionTime" : 40000
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
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' \
--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
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 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
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 |
---|---|
|
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: 11791
{
"_embedded" : {
"stream_configs" : [ {
"properties" : {
"segment.ms" : "696969"
},
"retentionTime" : 10000,
"partitions" : 12,
"uid" : "c082e097545948dcbd0cf993128d3fc2",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality 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"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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"
},
"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"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"keySchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for key"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"valueSchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for value"
}
}
}, {
"properties" : { },
"retentionTime" : 10000,
"partitions" : 12,
"uid" : "1e9ee6ce053c46b0932358c8503a2686",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality 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"
}
}
},
"environment" : {
"name" : "tenantaenv2",
"shortName" : "tenantaenv2",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "e11ee2dd976647109ca904dd8adc050f",
"_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"
},
"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"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"keySchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for key"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"valueSchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for value"
}
}
}, {
"properties" : { },
"retentionTime" : 10000,
"partitions" : 12,
"uid" : "2f9ee6ce053c46b0932358c8503a2697",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality 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"
}
}
},
"environment" : {
"name" : "tenantaprivenv3",
"shortName" : "tenantaprivenv3",
"visibility" : "private",
"color" : null,
"description" : "environment",
"uid" : "72c1b34b0c6744dcadb85f4c188518f6",
"_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"
},
"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"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"keySchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for key"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"valueSchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for value"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
}
}
/stream_configs/search/findByEnvironment
Returns configurations of all available streams for given Environment
.
Parameter | Description |
---|---|
|
A valid URI of an existing Environment |
GET /stream_configs/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: 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 |
---|---|
|
A valid URI of an existing Stream |
|
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: 4145
{
"_embedded" : {
"stream_configs" : [ {
"properties" : {
"segment.ms" : "696969"
},
"retentionTime" : 10000,
"partitions" : 12,
"uid" : "c082e097545948dcbd0cf993128d3fc2",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"stream" : {
"name" : "tenanta-stream1",
"owners" : {
"name" : "Stream-tenAApplication1",
"emailAddress" : null,
"phoneNumber" : null,
"uid" : "2d8e99afd6e047f69c9595b4f2525fa6",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : null,
"created_by" : null,
"modified_by" : null
},
"retentionPolicy" : "delete",
"integrity" : null,
"confidentiality" : null,
"description" : null,
"uid" : "066f5944d16344f88c9214d240d139dc",
"_links" : {
"keySchema" : {
"href" : "...",
"templated" : true,
"title" : "The AVRO schema configured for key"
},
"owners" : {
"href" : "...",
"templated" : true,
"title" : "The group responsible for this object"
},
"integrity" : {
"href" : "...",
"templated" : true,
"title" : "The integrity configured for the object"
},
"confidentiality" : {
"href" : "...",
"templated" : true,
"title" : "The confidentiality 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"
}
}
},
"environment" : {
"name" : "tenantaenv1",
"shortName" : "tenantaenv1",
"visibility" : "public",
"color" : null,
"description" : "environment",
"uid" : "047ab08009fe4da8be6905b55552ab52",
"_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"
},
"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"
},
"stream" : {
"href" : "...",
"templated" : true,
"title" : "A stream"
},
"keySchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for key"
},
"environment" : {
"href" : "...",
"templated" : true,
"title" : "An environment"
},
"valueSchemaVersion" : {
"href" : "...",
"templated" : true,
"title" : "A version of an AVRO schema configured for value"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"createStreamConfig" : {
"href" : "...",
"templated" : true
}
}
}
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/b6204331b0414f8bb388536a51a32d93
Content-Type: application/hal+json
Content-Length: 787
{
"properties" : {
"max.compaction.lag.ms" : "60000",
"segment.ms" : "60000"
},
"retentionTime" : 86400000,
"partitions" : 2,
"uid" : "b6204331b0414f8bb388536a51a32d93",
"created_at" : "2022-08-16T14:06:09.020173",
"modified_at" : "2022-08-16T14:06:09.020173",
"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: 207
{
"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" : null
}
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: 2399
{
"_embedded" : {
"schemas" : [ {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.value-schema1",
"description" : "",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.key-schema2",
"description" : "",
"uid" : "a32ead9183734d838e32c8454af9f3f5",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.value-schema2",
"description" : "",
"uid" : "dae551f956af48c1baa53281b5edca00",
"_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",
"_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" : 5,
"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
.
Request parameters
Parameter | Description |
---|---|
|
There is only 1 valid value: |
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: 2258
{
"_embedded" : {
"schemas" : [ {
"name" : "nl.tenanta.key-schema1",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.value-schema1",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.key-schema2",
"uid" : "a32ead9183734d838e32c8454af9f3f5",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.value-schema2",
"uid" : "dae551f956af48c1baa53281b5edca00",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "io.axual.qa.general.Random",
"uid" : "858d48056942069a916a8053e138s2e4",
"_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" : 5,
"totalPages" : 1,
"number" : 0
}
}
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 |
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' \
-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
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: Tue, 16 Aug 2022 14:08:03 GMT
Location: http://api.example.com/schemas/8d781bf501b34f658d71bf7a5e7010b9
Content-Type: application/hal+json
Content-Length: 520
{
"name" : "io.axual.aeb.test.Schema",
"description" : "This is a test schema",
"uid" : "8d781bf501b34f658d71bf7a5e7010b9",
"created_at" : "2022-08-16T14:08:03.791411",
"modified_at" : "2022-08-16T14:08:03.791411",
"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: 455
{
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"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' \
--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
Content-Length: 44
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"description" : "Updated description."
}
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Thu, 07 Jun 2018 23:16:23 GMT
Schema search endpoints
/schemas/search/findByName
Search for a schema by exact name.
Parameter | Description |
---|---|
|
Schema name to search for. |
GET /schemas/search/findByName?name=nl.tenanta.beb.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: 257
{
"_embedded" : {
"schemas" : [ ]
},
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
}
},
"page" : {
"size" : 20,
"totalElements" : 0,
"totalPages" : 0,
"number" : 0
}
}
/schemas/search/findByNameContaining
Search for a schema by name containing search term.
Parameter | Description |
---|---|
|
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: 1784
{
"_embedded" : {
"schemas" : [ {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.value-schema1",
"description" : "",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.key-schema2",
"description" : "",
"uid" : "a32ead9183734d838e32c8454af9f3f5",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"name" : "nl.tenanta.value-schema2",
"description" : "",
"uid" : "dae551f956af48c1baa53281b5edca00",
"_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" : 4,
"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' \
-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
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' \
-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
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' \
-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
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" : "086ba075e13f4b228a516817ad799861",
"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: 9850
{
"_embedded" : {
"schema_versions" : [ {
"version" : "v1",
"schemaBody" : "schemaBody",
"uid" : "b5c0a6b2fdd94d64925fd2fadb367891",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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" : "c633a9d3badb4fa0861965246be64558",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.value-schema1",
"description" : "",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_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.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema2",
"description" : "",
"uid" : "a32ead9183734d838e32c8454af9f3f5",
"_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" : "0aa818df699847d08c24f75a4a7399ed",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.value-schema2",
"description" : "",
"uid" : "dae551f956af48c1baa53281b5edca00",
"_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.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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" : "schemaBody, incompatible",
"uid" : "5322f72742cd4c6db07b9a71a825fe4f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.value-schema1",
"description" : "",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_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" : "schemaBody1, incompatible",
"uid" : "c434a9d3b4db4fa0861965246be645a2",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.value-schema1",
"description" : "",
"uid" : "8bc19be0c9cd4da296acd78e6022edf1",
"_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" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "io.axual.qa.general.Random",
"description" : "Demo schema",
"uid" : "858d48056942069a916a8053e138s2e4",
"_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" : 9,
"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.
Request parameters
Parameter | Description |
---|---|
|
Only 1 valid value: |
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: 4806
{
"_embedded" : {
"schema_versions" : [ {
"version" : "v1",
"uid" : "b5c0a6b2fdd94d64925fd2fadb367891",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v1",
"uid" : "c633a9d3badb4fa0861965246be64558",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v1",
"uid" : "5162f72742cd4c6db07b9a71a825fe4f",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v1",
"uid" : "0aa818df699847d08c24f75a4a7399ed",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v2",
"uid" : "b5c0a6b2fdd94d64925fd2fadb367f2d",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v2.1",
"uid" : "5322f72742cd4c6db07b9a71a825fe4f",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v2",
"uid" : "c633a9d3badb4fa0861965246be645a2",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "v2.1",
"uid" : "c434a9d3b4db4fa0861965246be645a2",
"modifiedAt" : "2018-06-07T23:16:23.774",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"schemaVersion" : {
"href" : "...",
"templated" : true
},
"schema" : {
"href" : "...",
"templated" : true,
"title" : "A schema"
}
}
}, {
"version" : "0.0.1",
"uid" : "858d48056942069b916a8053e138s2f6",
"modifiedAt" : "2018-09-20T00:00:00",
"_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" : 9,
"totalPages" : 1,
"number" : 0
}
}
Schema Versions search endpoint
/schema_versions/search/findAllBySchema
Returns the schema versions of the given Schema
.
Request parameters
Parameter | Description |
---|---|
|
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: 3193
{
"_embedded" : {
"schema_versions" : [ {
"version" : "v1",
"schemaBody" : "schemaBody",
"uid" : "b5c0a6b2fdd94d64925fd2fadb367891",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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" : "schemaBody, incompatible",
"uid" : "5322f72742cd4c6db07b9a71a825fe4f",
"created_at" : "2018-06-07T23:16:23.774",
"modified_at" : "2018-06-07T23:16:23.774",
"created_by" : null,
"modified_by" : null,
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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"
}
}
}
Create schema version
A POST request used to create a new AVRO definition is deprecated. Please refer to Upload schemas.
|
Request fields
Path | Type | Description | Constraints |
---|---|---|---|
version |
String |
Version string for this schema |
Must not be empty. Size must be between 0 and 50 inclusive |
schemaBody |
String |
A JSON formatted string representing an AVRO schema. |
|
schema |
String |
A valid URI for an existing schema. |
Must not be null |
Curl request
$ curl 'http://api.example.com/schema_versions' -i -X POST \
-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 '{
"version" : "test-v1",
"schemaBody" : "{}",
"schema" : "http://api.example.com/schemas/4edccfd6aa744e698542da36f1f01114"
}'
HTTP request
POST /schema_versions HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: XSRF-TOKEN
Authorization: Bearer token
realm: tenanta
Accept: application/hal+json
Content-Length: 130
Host: api.example.com
Cookie: XSRF-TOKEN=XSRF-TOKEN
{
"version" : "test-v1",
"schemaBody" : "{}",
"schema" : "http://api.example.com/schemas/4edccfd6aa744e698542da36f1f01114"
}
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
ETag: "0"
Last-Modified: Tue, 16 Aug 2022 14:08:04 GMT
Location: http://api.example.com/schema_versions/6a519de66a18432cae1cadde2f3014fe
Content-Type: application/hal+json
Content-Length: 893
{
"version" : "test-v1",
"schemaBody" : "{}",
"uid" : "6a519de66a18432cae1cadde2f3014fe",
"created_at" : "2022-08-16T14:08:04.614587",
"modified_at" : "2022-08-16T14:08:04.614587",
"created_by" : "poweruser@tenanta.nl",
"modified_by" : "poweruser@tenanta.nl",
"_embedded" : {
"schema" : {
"name" : "nl.tenanta.key-schema1",
"description" : "",
"uid" : "4edccfd6aa744e698542da36f1f01114",
"_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"
}
}
}
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: 1084
{
"_embedded" : {
"support_tiers" : [ {
"name" : "GOLD",
"description" : "This is gold",
"uid" : "14cadc6238fc4695916a8053302743f5",
"_links" : {
"self" : {
"href" : "...",
"title" : "URI pointing to current request"
},
"supportTier" : {
"href" : "...",
"templated" : true
}
}
}, {
"name" : "SILVER",
"description" : "This is silver",
"uid" : "14cadc6238fc4695916a8053413843f5",
"_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: 1097
[ {
"name" : "tenanta",
"groups" : 9,
"instance" : [ {
"name" : "ota",
"streamConfigsCount" : 3,
"supportTier" : "GOLD",
"clustersNames" : [ "Zone1 Cluster OTA", "Zone2 Cluster OTA" ]
}, {
"name" : "prod",
"streamConfigsCount" : 1,
"supportTier" : "SILVER",
"clustersNames" : [ "Zone1 Cluster PROD" ]
}, {
"name" : "lst",
"streamConfigsCount" : 1,
"supportTier" : "SILVER",
"clustersNames" : [ "Zone2 Cluster OTA" ]
}, {
"name" : "ota2",
"streamConfigsCount" : 0,
"supportTier" : "GOLD",
"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" : [ ]
} ]
}, {
"name" : "supertenant",
"groups" : 1,
"instance" : [ {
"name" : "test",
"streamConfigsCount" : 0,
"supportTier" : "SILVER",
"clustersNames" : [ ]
} ]
} ]
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: 926
[ {
"instanceShortName" : "ota",
"connectUrls" : "https://connect1.url,https://connect2.url",
"connectEnabled" : true,
"tenantShortName" : "tenanta"
}, {
"instanceShortName" : "prod",
"connectUrls" : null,
"connectEnabled" : false,
"tenantShortName" : "tenanta"
}, {
"instanceShortName" : "lst",
"connectUrls" : null,
"connectEnabled" : false,
"tenantShortName" : "tenanta"
}, {
"instanceShortName" : "prod",
"connectUrls" : null,
"connectEnabled" : false,
"tenantShortName" : "tenantb"
}, {
"instanceShortName" : "ota",
"connectUrls" : null,
"connectEnabled" : false,
"tenantShortName" : "tenantb"
}, {
"instanceShortName" : "test",
"connectUrls" : null,
"connectEnabled" : false,
"tenantShortName" : "supertenant"
}, {
"instanceShortName" : "ota2",
"connectUrls" : "https://connect3.url,https://connect4.url",
"connectEnabled" : true,
"tenantShortName" : "tenanta"
} ]