...
Get a list of available artifact types
Syntax | GET /governance/types/ |
---|
Example | GET https://localhost:9443/governance/types/ |
---|
Sample cURL Command | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/types/" -i -k |
---|
Get list of assets of certain type
Syntax | GET /governance/<asset_short_name_s> GET /governance/<asset_short_name_s>?query
Warning |
---|
WSO2 G-Reg does not support date range searches in Governance REST API. |
Query | Description |
---|
xyz | Looks for artifacts with the name "xyz ". Info |
---|
- You can give only the value like above or give the field name and the value in a key-value pair for fields of the
Overview table in the asset RXT file. (e.g. name=xyz ) - However, to find assets with a specific value for a field in a table other than the
Overview table, the search query should be: encode(table_name:field_name)=encode(value) For example, if the table is docLinks , the field is documentType and the valueis 'the rest1 '. The final URI query parameter should be: docLinks%3AdocumentType=the%20rest1 - If you have spaces or any special characters such as underscore or slash in the key of the key-value pair of your query URL, you need to encode it using a URL encoder.
|
| xyz&version=1.3.5 | Looks for artifacts with the name 'xyz ' and version '1.3.5 '. | tags=abc | Searches for artifacts with the tag 'abc '. | lcState=development&lcName=ServiceLifeCycle | Searches for artifacts with an associated life cycle named 'ServiceLifeCycle' with the state 'development ' | country=usa | Looks for all the artifacts having attribute country with value 'usa '. This internally handles whether 'country ' is an RXT attribute or a property. | version=1.3.5&mediaType=application/vnd.wso2-soap-service+xml | Searches for SOAP services of version '1.3.5 '. |
|
---|
Example(s) | GET https://localhost:9443//governance/restservices GET https://localhost:9443//governance/restservices?name=restservice1 GET https://localhost:9443//governance/ restservices?name=restservice1&version=1.0.0 GET https://localhost:9443/governance/restservices?docLinks%3AdocumentComment=rest1%20is%20a%20simple%20API
|
---|
Sample cURL Command(s) | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices" -i curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices?name=WarrantyClaimService" -i -k curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices?name=WarrantyClaimService&version=1.0.0" -i -k
|
---|
Get an asset of a certain type
Syntax | GET /governance/<asset_short_name_s>/UUID |
---|
Example | GET https://localhost:9443/ /governance/restservices/3245se24553 |
---|
Sample cURL Command | curl -X GET -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices/cae93ba9-9543-43be-9f30-bb96cec3c443" -i -k
|
---|
Create a new asset
Syntax | POST /governance/<asset_short_name_s> <payload>
Here the payload should be in JSON format. Following are the required attributes. Payload format is as follows: Code Block |
---|
{ name: "Artifact Name", type: "Artifact Type", version: “Version Number", Attribute-N: “Attribute-N” value } |
|
---|
Example | Code Block |
---|
| POST https://localhost:9443 /governance/restservices { name: "TestRESTService", type: "restservice", context: "/test", version: "1.0.0" } |
|
---|
Sample cURL Command | Code Block |
---|
| curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"name":"TestRESTService",
"type":"restservice",
"context":"/test",
"version":"1.0.0"
}' "https://localhost:9443/governance/restservices" -i -k |
|
---|
Response | If the artifact creation is successful, the server will return HTTP 200 code along with the “location” header pointing to the newly created artifact. If there is an issue creating a new artifact, it will return an appropriate error code. For example, the above example may return the following: HTTP 200
Location: https://localhost:9443/governance/restservices/3ec1dcd9-66d8-41da-a0d2-ec171df64cc3
|
---|
Update an existing asset
Syntax | PUT /governance/<asset_short_name_s>/uuid <payload>
Here the payload should be in JSON format. Following are the required attributes. Payload format is as follows: Code Block |
---|
{ name: "Artifact Name", type: "Artifact Type", version: “Version Number", Attribute-N: “Attribute-N” value } |
|
---|
Example | Code Block |
---|
| PUT https://localhost:9443 /governance/restservices/324dsdwa535 { name: "TestRESTService", type: "restservice", context: "/test-new", version: "1.0.0", } |
|
---|
Sample cURL Command | Code Block |
---|
| curl -X PUT -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"name":"TestRESTService",
"type":"restservice",
"context":"/test",
"version":"1.0.0",
"description": "Discription added by Rest API"
}' "https://localhost:9443/governance/restservices/97bdb275-2b09-4744-b29f-125cf2c8e387" -i -k |
|
---|
Response | If the artifact creation is successful, the server will return HTTP 201 code along with the “location” header pointing to the newly created artifact. If there is an issue creating the new artifact, it will return an appropriate error code. |
---|
Delete an asset
Syntax | DELETE /governance/<asset_short_name_s>/UUID |
---|
Example | DELETE https://localhost:9443/ /governance/restservices/3245se24553
|
---|
Sample cURL Command | curl -X DELETE -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices/97bdb275-2b09-4744-b29f-125cf2c8e387" -i -k |
---|
Get lifecycle state of an asset
Syntax | GET /governance/<RXT_short_name_s>/uuid/states GET /governance/<RXT_short_name_s>/uuid/states?lc=LCName
|
---|
Example(s) | GET https://localhost:9443/ /governance/restservices/44dadw4/states GET https://localhost:9443/ /governance/restservices/44dadw4/states?lc=ServiceLifeCycle
|
---|
Sample cURL Command(s) | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices/cae93ba9-9543-43be-9f30-bb96cec3c443/states" -i -k curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices/cae93ba9-9543-43be-9f30-bb96cec3c443/states?lc=ServiceLifeCycle" -i -k
|
---|
Update lifecycle state of an asset
Syntax | PUT /governance/<RXT_short_name_s>/uuid/states <payload>
The payload format is as follows: Code Block |
---|
| {
lc: "Lifecycle name",
action: "Promote",
check_item_N : "value_N",
} |
|
---|
Example | Code Block |
---|
| PUT https://localhost:9443/governance/restservices/cea0c482-4280-4837-8126-3fd97cdc0a41/states
{
lc: "ServiceLifeCycle",
action: "Promote",
item_0 : "true",
item_1 : "true",
item_2 : "true"
} |
|
---|
Sample cURL Command | Code Block |
---|
| curl -X PUT -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"lc":"ServiceLifeCycle",
"action":"Promote",
"item_0":"true",
"item_1":"true",
"item_2":"true"
}' "https://localhost:9443/governance/restservices/cae93ba9-9543-43be-9f30-bb96cec3c443/states" -i -k |
|
---|
Endpoints
Following are the RSET API functions that are related to assets.
Get all endpoints
Syntax | GET /governance/endpoints |
---|
Example | GET https://localhost:9443/governance/endpoints |
---|
Sample cURL Command | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/endpoints" -i -k |
---|
Get an individual endpoint
Syntax | GET /governance/endpoints/UUID |
---|
Example | GET https://localhost:9443/governance/endpoints/c7d6ed67-f2f5-409f-97f2-ddff9b6bc07b |
---|
Sample cURL Command | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/endpoints/c413e38b-16fa-4c49-ac03-927f878e8e59" -i -k |
---|
Create new endpoint
GET POST /governance/endpoints <payload>
Tip |
---|
It is also possible to create an endpoint and associate it with other types of artifacts such as REST services or SOAP services as presented in Syntax 2 below. |
Syntax 2: |
GET POST /governance/endpoints/restservices/<UUID> <payload>
|
GET POST /governance/endpoints/restservices?Query <payload>
Here the payload should be in JSON format.Following are the required attributes: Payload format is as follows: |
Code Block |
---|
| {name: "endpoint-1",
type: "endpoint",
version: "1.0.0",
address: "https://localhost:9443",
environment: "QA"
} |
|
Example(s) | Code Block |
---|
language | java |
---|
title | Example 1 |
---|
| POST https://localhost:9443/governance/endpoints/ { name: "endpoint-1", type: "endpoint", version: "1.0.0", address: "https://localhost:9443", environment: "QA" } |
Code Block |
---|
language | java |
---|
title | Example 2 |
---|
| POST https://localhost:9443/governance/endpoints/restservices/cea0c482-4280-4837-8126-3fd97cdc0a41
{
name: "endpoint-2",
type: "endpoint",
version: "1.0.0",
address: "https://localhost:9443",
environment: "QA"
} |
Code Block |
---|
language | java |
---|
title | Example 3 |
---|
| POST https://localhost:9443/governance/endpoints/restservices?name=TestRESTService2&version=1.0.0
{
name: "endpoint-3",
type: "endpoint",
version: "1.0.0",
address: "https://localhost:9443",
environment: "QA"
} |
|
---|
Sample cURL Command(s) | Code Block |
---|
language | java |
---|
title | Sample cURL Command 1 |
---|
| curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{ "name":"endpoint-1", "type":"endpoint", "version":"1.0.0", "address":"https://localhost:9443", "environment":"QA" } |
Code Block |
---|
language | java |
---|
title | Sample cURL Command 2 |
---|
| curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{ "name":"endpoint-2", "type":"endpoint", "version":"1.0.0", "address":"https://localhost:9443", "environment":"QA" }' "https://localhost:9443/governance/endpoints/restservices/cae93ba9-9543-43be-9f30-bb96cec3c443" -i -k |
Code Block |
---|
language | java |
---|
title | Sample cURL Command 3 |
---|
| curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{ "name":"endpoint-2", "type":"endpoint", "version":"1.0.0", "address":"https://localhost:9443", "environment":"QA" }' "https://localhost:9443/governance/endpoints/restservices?name=TestRESTService4" -i -k |
|
---|
Response | If the artifact creation is successful, the server will return HTTP 201 code along with the “location” header pointing to the newly created artifact. If there is an issue creating the new artifact, it will return an appropriate error code. |
---|
Delete an endpoint
Syntax | DELETE /governance/endpoints/uuid |
---|
Example | DELETE https://localhost:9443/governance/endpoints/73cc7077-d723-44a5-98e5-945795e518e8 |
---|
Sample cURL Command | curl -X DELETE -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/endpoints/6652d672-d7f5-4a13-9d6f-9a6eb85675a5"-i -k
|
---|
Get an endpoint status
Syntax | GET /governance/endpoints/<uuid>/states |
---|
Example | GET https://localhost:9443/governance/endpoints/c7d6ed67-f2f5-409f-97f2-ddff9b6bc07b/states |
---|
Sample cURL Command | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/endpoints/6652d672-d7f5-4a13-9d6f-9a6eb85675a5/states" -i -k
|
---|
Activate an endpoint
Syntax | POST /governance/endpoints/activate/<uuid> |
---|
Example | POST https://localhost:9443/governance/endpoints/activate/c7d6ed67-f2f5-409f-97f2-ddff9b6bc07b |
---|
Sample cURL Command | curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/endpoints/activate/6652d672-d7f5-4a13-9d6f-9a6eb85675a5" -i -k
|
---|
Deactivate an endpoint
Syntax | POST /governance/endpoints/deactivate/<uuid> |
---|
Example | POST https://localhost:9443/governance/endpoints/deactivate/c7d6ed67-f2f5-409f-97f2-ddff9b6bc07b |
---|
Sample cURL Command | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/endpoints/deactivate/6652d672-d7f5-4a13-9d6f-9a6eb85675a5" -i -k
|
---|
Get an endpoint of an artifact instance
Syntax | GET /governance/<asset_short_name_s>/<id>/endpoints |
---|
Example | GET https://localhost:9443/governance/restservices/cea0c482-4280-4837-8126-3fd97cdc0a41/endpoints |
---|
Sample cURL Command | curl -X GET -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" "https://localhost:9443/governance/restservices/cae93ba9-9543-43be-9f30-bb96cec3c443/endpoints" -i -k
|
---|