Customers Management API
A REST-based API is available to manage various parts of the system.
The base path for the Management API is {management-api-root}/{ownerId}/management
.
An example endpoint might look like the following:
https://api.dev.utilihive.io/myCompany/management/flows
Access
Access to the Management API requires a valid OAuth2 JWT Bearer token generated by a user with an Admin or Deployer role.
The token is retrieved by making a POST request to {identity-api-root}/authentication/token
with the following URL encoded form parameters:
Parameter | Description |
---|---|
|
The grant type to use. Must be set to |
|
The Admin or Deployer user’s username (typically their email address). |
|
The user’s password. |
|
The scope of the access request. Must be set to |
The following curl
command demonstrates an example request:
curl -X POST "https://api.dev.utilihive.io/metercloud-integration-identity/api/authentication/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=<username>&password=<password>&scope=management"
All future requests will then need to include the returned access_token
as a Bearer token.
With curl
, this would look like the following:
curl "https://api.dev.utilihive.io/myCompany/management/flows" \
-H "Authorization: Bearer <access_token>"
Documentation
The OpenAPI specifications for the entire Management API are available by making an authorized GET request to {management-api-root}/{ownerId}/management/openapi.json
.
The returned JSON can then be loaded into the online Swagger editor to more easily review the various endpoints and see example request bodies.
Flow APIs
The Flow Management API can create, update, delete, and view flows deployed by the corresponding owner (i.e., the ownerId
).
The following REST endpoints are available on the base path {management-api-root}/{ownerId}/management
:
Method | Path | Description |
---|---|---|
GET |
|
Get flow details for all deployed flows (for the specified owner). |
POST |
|
Create a new flow. See the OpenAPI specs for an example request body. |
GET |
|
Get only the flow IDs for all deployed flows. |
GET |
|
Get the details for a single flow. |
PUT |
|
Update a flow. See the OpenAPI specs for an example request body. |
DELETE |
|
Delete an existing flow. Has option for forced delete, see the OpenAPI specs for further details. |
POST |
|
Disable a flow with a compatible source (e.g., REST sources). Request body must include |
POST |
|
Enable a disabled flow. Request body must include |
Even though flows can be created with the Management API, it is recommended to use the SDK’s more feature rich Deployer tools. |
Resource Registry APIs
The Resource Registry Management API can create, update, delete, and view resources, secrets, and tables deployed by the corresponding owner.
Registry related endpoints are available on the base path {management-api-root}/{ownerId}/management/registry
.
Resources
The following endpoints are available to manage resources:
Method | Path | Description |
---|---|---|
GET |
|
Get all resource types that have been deployed (e.g., OpenAPIv3, WSDLv1, etc.). |
GET |
|
Get all resources deployed for the given |
POST |
|
Create a new resource (or revision if |
GET |
|
Get a specific resource revision. |
GET |
|
Get the latest revision of a resource. |
DELETE |
|
Delete all revisions of a resource. |
Secrets
The following endpoints are available to manage secrets:
Method | Path | Description |
---|---|---|
GET |
|
Get summaries of all secrets belonging to the |
GET |
|
Get an individual secret. |
PUT |
|
Create or update a secret. See the OpenAPI specs for an example request body. |
DELETE |
|
Delete a secret. |
PUT |
|
Create or update a typed secret, where |
Dynamic Tables
The following endpoints are available to manage tables:
Method | Path | Description |
---|---|---|
GET |
|
Get all tables that have been created by the given organization. |
GET |
|
Get the rows and cells for the given table. See the OpenAPI specs for optional query string parameters. |
GET |
|
Get the full table row by looking up the given column and value. |
GET |
|
Get a single column value from the row that matches the given column and value. |
POST |
|
Add a new row to the given table (or create the table if it doesn’t exist). See the OpenAPI specs for an example request body. |
PATCH |
|
Get and optionally add or update the provided row in the table. See the OpenAPI specs for an example request body and auto-create options. |
DELETE |
|
Delete the given table. |
DELETE |
|
Delete the given column from all rows in the table. |
DELETE |
|
Delete the table rows that match the given column and value. |
DELETE |
|
Find the table row that matches the given column/value and delete the cells with the matching target column. |