GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/asyncapi
This operation can be used to retrieve the AsyncAPI definition of an API.
apim:api_view
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested AsyncAPI definition of the API is returned |
string |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested API does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
PUT https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/asyncapi
This operation can be used to update the AsyncAPI definition of an existing API. AsyncAPI definition to be updated is passed as a form data parameter 'apiDefinition'.
apim:api_create
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Form |
apiDefinition optional |
AsyncAPI definition of the API |
String | |
| Form |
url optional |
AsyncAPI definition URL of the API |
String | |
| Form |
file optional |
AsyncAPI definition as a file |
File | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Successful response with updated AsyncAPI definition |
string |
400 |
Bad Request. Invalid request or validation error |
Error |
403 |
Forbidden. The request must be conditional but no condition has been specified. |
Error |
404 |
Not Found. The resource to be updated does not exist. |
Error |
412 |
Precondition Failed. The request has not been performed because one of the preconditions is not met. |
Error |
DELETE https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}
This operation can be used to delete an existing API proving the Id of the API.
apim:api_delete
apim:api_import_export
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Resource successfully deleted. |
|
403 |
Forbidden. The request must be conditional but no condition has been specified. |
Error |
404 |
Not Found. Resource to be deleted does not exist. |
Error |
409 |
Conflict. The request could not be completed due to a conflict with the current state of the target resource. |
Error |
412 |
Precondition Failed. The request has not been performed because one of the preconditions is not met. |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}
Using this operation, you can retrieve complete details of a single API. You need to provide the Id of the API to retrive it.
apim:api_view
apim:api_import_export
apim:api_product_import_export
GET https://localhost:9443/api/am/publisher/v1/apis/a8f0fb89-edf9-484c-b937-036b088f287d HTTP 1/1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP 1/1 200 OK
Content-Type: application/json
Location: https://localhost:9443/api/am/publisher/v1/apis/740a2695-74f3-4d8f-826b-356e39553912
{
"id" : "a8f0fb89-edf9-484c-b937-036b088f287d",
"name" : "PizzaShackAPI",
"description" : "This is a simple API for Pizza Shack online pizza delivery store.",
"context" : "/pizzashack",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "PUBLISHED",
"cacheTimeout" : 300,
"isDefaultVersion" : false,
"type" : "HTTP",
"transport" : [ "http", "https" ],
"tags" : [ "pizza" ],
"policies" : [ "Unlimited" ],
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ "Production and Sandbox" ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : {
"businessOwner" : "Jane Roe",
"businessOwnerEmail"<EMAIL_ADDRESS>"technicalOwner" : "John Doe",
"technicalOwnerEmail"<EMAIL_ADDRESS>},
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"endpoint" : [ {
"inline" : {
"endpointConfig" : {
"endpointType" : "SINGLE",
"list" : [ {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/",
"timeout" : "1000",
"attributes" : [ ]
} ]
},
"type" : "http"
},
"type" : "production_endpoints"
}, {
"inline" : {
"endpointConfig" : {
"endpointType" : "SINGLE",
"list" : [ {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/",
"timeout" : "1000",
"attributes" : [ ]
} ]
},
"type" : "http"
},
"type" : "sandbox_endpoints"
} ],
"scopes" : [ ],
"operations" : [ {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "DELETE",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "PUT",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/menu",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -v -X GET 'https://localhost:9443/api/am/publisher/v1/apis/a8f0fb89-edf9-484c-b937-036b088f287d' -H 'Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8'
GET https://localhost:9443/api/am/publisher/v1/apis/a8f0fb89-edf9-484c-b937-036b088f287d HTTP 1/1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP 1/1 404 Not Found
Content-Type: application/json
{
"code" : 409,
"message" : "Not Found",
"description" : "Requested API with Id 'a8f0fb89-edf9-484c-b937-036b088f287d' not found",
"moreInfo" : "",
"error" : [ ]
}
curl -k -v -X GET 'https://localhost:9443/api/am/publisher/v1/apis/a8f0fb89-edf9-484c-b937-036b088f287d' -H 'Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8'
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
X-WSO2-Tenant optional |
For cross-tenant invocations, this is used to specify the tenant domain, where the resource need to be retirieved from. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested API is returned |
API |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested API does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
PUT https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}
This operation can be used to update an existing API. But the properties `name`, `version`, `context`, `provider`, `state` will not be changed by this operation.
apim:api_create
apim:api_publish
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Body |
body required |
API object that needs to be added |
API (API) | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Successful response with updated API object |
API |
400 |
Bad Request. Invalid request or validation error |
Error |
403 |
Forbidden. The request must be conditional but no condition has been specified. |
Error |
404 |
Not Found. The resource to be updated does not exist. |
Error |
409 |
Conflict. The request could not be completed due to a conflict with the current state of the target resource. |
Error |
412 |
Precondition Failed. The request has not been performed because one of the preconditions is not met. |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/resource-paths
This operation can be used to retrieve resource paths defined for a specific api.
apim:api_view
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Query |
limit optional |
Maximum size of resource array to return. |
Integer |
25 |
| Query |
offset optional |
Starting point within the complete list of items qualified. |
Integer |
0 |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. ResourcePaths returned. |
ResourcePathList |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested Document does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/subscription-policies
This operation can be used to retrieve details of the subscription throttling policy of an API by specifying the API Id. `X-WSO2-Tenant` header can be used to retrive API subscription throttling policies that belongs to a different tenant domain. If not specified super tenant will be used. If Authorization header is present in the request, the user's tenant associated with the access token will be used.
apim:api_view
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
X-WSO2-Tenant optional |
For cross-tenant invocations, this is used to specify the tenant domain, where the resource need to be retirieved from. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Throttling Policy returned |
ThrottlingPolicy |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource. |
|
404 |
Not Found. Requested Throttling Policy does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported. |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/swagger
This operation can be used to retrieve the swagger definition of an API.
apim:api_view
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested swagger document of the API is returned |
string |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested API does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
PUT https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/swagger
This operation can be used to update the swagger definition of an existing API. Swagger definition to be updated is passed as a form data parameter `apiDefinition`.
apim:api_create
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Form |
apiDefinition optional |
Swagger definition of the API |
String | |
| Form |
url optional |
Swagger definition URL of the API |
String | |
| Form |
file optional |
Swagger definitio as a file |
File | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Successful response with updated Swagger definition |
string |
400 |
Bad Request. Invalid request or validation error |
Error |
403 |
Forbidden. The request must be conditional but no condition has been specified. |
Error |
404 |
Not Found. The resource to be updated does not exist. |
Error |
412 |
Precondition Failed. The request has not been performed because one of the preconditions is not met. |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/thumbnail
This operation can be used to download a thumbnail image of an API.
apim:api_view
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Thumbnail image returned |
|
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested Document does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis/copy-api
This operation can be used to create a new version of an existing API. The new version is specified as `newVersion` query parameter. New API will be in `CREATED` state.
apim:api_create
POST https://localhost:9443/api/am/publisher/v1/apis/copy-api?newVersion=2.0.0&apiId=a8f0fb89-edf9-484c-b937-036b088f287d HTTP 1/1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP 1/1 201 Created
Content-Type: application/json
Location: https://localhost:9443/api/am/publisher/v1/apis/740a2695-74f3-4d8f-826b-356e39553912
{
"id" : "740a2695-74f3-4d8f-826b-356e39553912",
"name" : "PizzaShackAPI",
"description" : "This is a simple API for Pizza Shack online pizza delivery store.",
"context" : "/pizzashack",
"version" : "2.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"cacheTimeout" : 300,
"isDefaultVersion" : false,
"type" : "HTTP",
"transport" : [ "http", "https" ],
"tags" : [ "pizza" ],
"policies" : [ "Unlimited" ],
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ "Production and Sandbox" ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : {
"businessOwner" : "Jane Roe",
"businessOwnerEmail"<EMAIL_ADDRESS>"technicalOwner" : "John Doe",
"technicalOwnerEmail"<EMAIL_ADDRESS>},
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"endpoint" : [ {
"inline" : {
"endpointConfig" : {
"endpointType" : "SINGLE",
"list" : [ {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/",
"timeout" : "1000",
"attributes" : [ ]
} ]
},
"type" : "http"
},
"type" : "production_endpoints"
}, {
"inline" : {
"endpointConfig" : {
"endpointType" : "SINGLE",
"list" : [ {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/",
"timeout" : "1000",
"attributes" : [ ]
} ]
},
"type" : "http"
},
"type" : "sandbox_endpoints"
} ],
"scopes" : [ ],
"operations" : [ {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "DELETE",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "PUT",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/menu",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -v -X POST 'https://localhost:9443/api/am/publisher/v1/apis/copy-api?newVersion=2.0.0&apiId=a8f0fb89-edf9-484c-b937-036b088f287d' -H 'Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8'
POST https://localhost:9443/api/am/publisher/v1/apis/copy-api?newVersion=2.0.0&defaultVersion=true&apiId=a8f0fb89-edf9-484c-b937-036b088f287d HTTP 1/1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP 1/1 201 Created
Content-Type: application/json
Location: https://localhost:9443/api/am/publisher/v1/apis/740a2695-74f3-4d8f-826b-356e39553912
{
"id" : "740a2695-74f3-4d8f-826b-356e39553912",
"name" : "PizzaShackAPI",
"description" : "This is a simple API for Pizza Shack online pizza delivery store.",
"context" : "/pizzashack",
"version" : "2.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"cacheTimeout" : 300,
"isDefaultVersion" : true,
"type" : "HTTP",
"transport" : [ "http", "https" ],
"tags" : [ "pizza" ],
"policies" : [ "Unlimited" ],
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ "Production and Sandbox" ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : {
"businessOwner" : "Jane Roe",
"businessOwnerEmail"<EMAIL_ADDRESS>"technicalOwner" : "John Doe",
"technicalOwnerEmail"<EMAIL_ADDRESS>},
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"endpoint" : [ {
"inline" : {
"endpointConfig" : {
"endpointType" : "SINGLE",
"list" : [ {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/",
"timeout" : "1000",
"attributes" : [ ]
} ]
},
"type" : "http"
},
"type" : "production_endpoints"
}, {
"inline" : {
"endpointConfig" : {
"endpointType" : "SINGLE",
"list" : [ {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/",
"timeout" : "1000",
"attributes" : [ ]
} ]
},
"type" : "http"
},
"type" : "sandbox_endpoints"
} ],
"scopes" : [ ],
"operations" : [ {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "DELETE",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "PUT",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/menu",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -v -X POST 'https://localhost:9443/api/am/publisher/v1/apis/copy-api?newVersion=2.0.0&defaultVersion=true&apiId=a8f0fb89-edf9-484c-b937-036b088f287d' -H 'Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8'
POST https://localhost:9443/api/am/publisher/v1/apis/copy-api?newVersion=2.0.0&defaultVersion=false&apiId=a8f0fb89-edf9-484c-b937-036b088f287d HTTP 1/1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP 1/1 409 Conflict
Content-Type: application/json
{
"code" : 409,
"message" : "Resource Already Exists",
"description" : "Requested new version 2.0.0 of API a8f0fb89-edf9-484c-b937-036b088f287d already exists",
"moreInfo" : "",
"error" : [ ]
}
curl -k -v -X POST 'https://localhost:9443/api/am/publisher/v1/apis/copy-api?newVersion=2.0.0&defaultVersion=false&apiId=a8f0fb89-edf9-484c-b937-036b088f287d' -H 'Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8'
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Query |
newVersion required |
Version of the new API. |
String | |
| Query |
apiId required |
**API ID** consisting of the **UUID** of the API. The combination of the provider of the API, name of the API and the version is also accepted as a valid API I. Should be formatted as **provider-name-version**. |
String | |
| Query |
defaultVersion optional |
Specifies whether new API should be added as default version. |
Boolean |
false |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
Created. Successful response with the newly created API as entity in the body. Location header contains URL of newly created API. |
API |
400 |
Bad Request. Invalid request or validation error |
Error |
404 |
Not Found. API to copy does not exist. |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis
This operation provides you a list of available APIs qualifying under a given search condition. Each retrieved API is represented with a minimal amount of attributes. If you want to get complete details of an API, you need to use **Get details of an API** operation.
apim:api_view
apim:api_import_export
GET https://localhost:9443/api/am/publisher/v1/apis HTTP 1/1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP 1/1 200 OK
Content-Type: application/json
{
"count" : 1,
"list" : [ {
"id" : "ae4eae22-3f65-387b-2323-d37eaa366fa8",
"name" : "CalculatorAPI",
"description" : "A calculator API that supports basic operations",
"context" : "CalculatorAPI",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"workflowStatus" : "APPROVED",
"hasThumbnail" : true,
"securityScheme" : [ "oauth2" ]
} ],
"pagination" : {
"offset" : 0,
"limit" : 1,
"total" : 1,
"next" : "",
"previous" : ""
}
}
curl -k -v -X GET 'https://localhost:9443/api/am/publisher/v1/apis' -H 'Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8'
GET https://localhost:9443/api/am/publisher/v1/apis HTTP/1.1
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP/1.1 200 OK
Content-Type: application/json
{
"count":2,
"list":[
{
"id":"43537569-b701-4f3f-a989-e1b6f42ebcf0",
"name":"PizzaShackAPI",
"description":"This is a simple API for Pizza Shack online pizza delivery store.",
"context":"/pizzashack",
"version":"1.0.0",
"provider":"admin",
"lifeCycleStatus":"PUBLISHED",
"workflowStatus":null,
"hasThumbnail":true,
"securityScheme":[
]
},
{
"id":"740aeb01-2d3f-4721-afac-4324988a2e0b",
"name":"PizzaShackAPI",
"description":"This is a simple API for Pizza Shack online pizza delivery store.",
"context":"/pizzashack",
"version":"2.0.0",
"provider":"admin",
"lifeCycleStatus":"CREATED",
"workflowStatus":null,
"hasThumbnail":true,
"securityScheme":[
]
}
],
"pagination":{
"offset":0,
"limit":25,
"total":2,
"next":"",
"previous":""
}
}
curl -k -H "Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8" https://localhost:9443/api/am/publisher/v1/apis
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Query |
limit optional |
Maximum size of resource array to return. |
Integer |
25 |
| Query |
offset optional |
Starting point within the complete list of items qualified. |
Integer |
0 |
| Header |
X-WSO2-Tenant optional |
For cross-tenant invocations, this is used to specify the tenant domain, where the resource need to be retirieved from. |
String | |
| Query |
query optional |
**Search condition**. You can search in attributes by using an **"<attribute>:"** modifier. Eg. "provider:wso2" will match an API if the provider of the API contains "wso2". "provider:"wso2"" will match an API if the provider of the API is exactly "wso2". "status:PUBLISHED" will match an API if the API is in PUBLISHED state. "label:external" will match an API if it contains a Microgateway label called "external". Also you can use combined modifiers Eg. name:pizzashack version:v1 will match an API if the name of the API is pizzashack and version is v1. Supported attribute modifiers are [**version, context, name, status, description, subcontext, doc, provider, label**] If no advanced attribute modifier has been specified, the API names containing the search term will be returned as a result. Please note that you need to use encoded URL (URL encoding) if you are using a client which does not support URL encoding (such as curl) |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String | |
| Query |
expand optional |
Defines whether the returned response should contain full details of API |
Boolean | |
| Header |
Accept optional |
Media types acceptable for the response. Default is application/json. |
String |
application/json |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. List of qualifying APIs is returned. |
APIList |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
406 |
Not Acceptable. The requested media type is not supported |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis/import-graphql-schema
This operation can be used to create api from api definition.APIMgtDAOTest API definition is GraphQL Schema
apim:api_create
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Form |
type optional |
Definition type to upload |
String | |
| Form |
file optional |
Definition to uploads a file |
File | |
| Form |
additionalProperties optional |
Additional attributes specified as a stringified JSON with API's schema |
String | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
Created. Successful response with the newly created object as entity in the body. Location header contains URL of newly created entity. |
API |
400 |
Bad Request. Invalid request or validation error. |
Error |
415 |
Unsupported Media Type. The entity of the request was in a not supported format. |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis
This operation can be used to create a new API specifying the details of the API in the payload. The new API will be in `CREATED` state. There is a special capability for a user who has `APIM Admin` permission such that he can create APIs on behalf of other users. For that he can to specify `"provider" : "some_other_user"` in the payload so that the API's creator will be shown as `some_other_user` in the UI.
apim:api_create
POST https://localhost:9443/api/am/publisher/v1/apis HTTP 1/1
Authorization: Bearer eff01a97-4dc0-3542-a184-75aecf355ec2
Content-Type: application/json
{
"name" : "PizzaShackAPI",
"description" : "This is a simple API for Pizza Shack online pizza delivery store.",
"context" : "/pizzashack",
"version" : "1.0.0",
"transport" : [ "http", "https" ],
"tags" : [ "pizza" ],
"policies" : [ "Unlimited" ],
"gatewayEnvironments" : [ "Production and Sandbox" ],
"endpointConfig" : {
"endpoint_type" : "http",
"sandbox_endpoints" : {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/"
},
"production_endpoints" : {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/"
}
},
"operations" : [ {
"uritemplate" : "/order/{orderId}",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited"
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "DELETE",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited"
}, {
"uritemplate" : "/order/{orderId}",
"httpVerb" : "PUT",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited"
}, {
"uritemplate" : "/menu",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited"
}, {
"uritemplate" : "/order",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited"
} ]
}
HTTP 1/1 201 Created
Content-Type: application/json
Location: https://localhost:9443/api/am/publisher/v1/apis/35ee8a2d-d9ef-4d6d-8626-377f9f9fc580
{
"id" : "35ee8a2d-d9ef-4d6d-8626-377f9f9fc580",
"name" : "PizzaShackAPI",
"description" : "This is a simple API for Pizza Shack online pizza delivery store.",
"context" : "/pizzashack",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"cacheTimeout" : 300,
"isDefaultVersion" : false,
"type" : "HTTP",
"transport" : [ "http", "https" ],
"tags" : [ "pizza" ],
"policies" : [ "Unlimited" ],
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ "Production and Sandbox" ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailability" : "ALL_TENANTS",
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : { },
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"endpointConfig" : {
"endpoint_type" : "http",
"sandbox_endpoints" : {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/"
},
"production_endpoints" : {
"url" : "https://localhost:9443/am/sample/pizzashack/v1/api/"
}
},
"scopes" : [ ],
"operations" : [ {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "DELETE",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order/{orderId}",
"httpVerb" : "PUT",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/menu",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}, {
"id" : "",
"uritemplate" : "/order",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -v -X POST 'https://localhost:9443/api/am/publisher/v1/apis' -H 'Authorization: Bearer eff01a97-4dc0-3542-a184-75aecf355ec2' -H 'Content-Type: application/json' -d @payload.json
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Body |
body required |
API object that needs to be added |
API (API) | |
| Query |
openAPIVersion optional |
Open api version Accepted values: v2
v3
|
String |
v3 |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
Created. Successful response with the newly created object as entity in the body. Location header contains URL of newly created entity. |
API |
400 |
Bad Request. Invalid request or validation error. |
Error |
415 |
Unsupported Media Type. The entity of the request was in a not supported format. |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/generate-mock-scripts
This operation can be used to generate mock responses from examples of swagger definition of an API.
apim:api_create
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested swagger document of the API is returned with example responses |
string |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested API does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/generated-mock-scripts
This operation can be used to generate mock responses from examples of swagger definition of an API.
apim:api_create
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested swagger document of the API is returned with example responses |
MockResponsePayloadList |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested API does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/wsdl-info
This operation can be used to retrieve the WSDL meta information of an API. It states whether the API is a SOAP API. If the API is a SOAP API, it states whether it has a single WSDL or a WSDL archive.
apim:api_view
GET https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl-info HTTP 1/1
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
HTTP 1/1 200 OK
Content-Type: application/json
{
"type" : "WSDL"
}
curl -k -v -X GET 'https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl-info' -H 'Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7'
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested WSDL meta information of the API is returned |
WSDLInfo |
404 |
Not Found. Requested API does not exist or the API is not a SOAP API. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
GET https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/wsdl
This operation can be used to retrieve the WSDL definition of an API. It can be either a single WSDL file or a WSDL archive. The type of the WSDL of the API is indicated at the "wsdlInfo" element of the API payload definition.
apim:api_view
GET https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl HTTP 1/1
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
HTTP/1.1 200
Content-Type: application/wsdl+xml
Content-Length: 7670
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://ws.cdyne.com/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://ws.cdyne.com/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Our system uses a multiple sources for resolution. Including a host database, trace route information, and other systems. Resolves IP addresses to Organization, Country, City..
...
...
<wsdl:port name="IP2GeoHttpGet" binding="tns:IP2GeoHttpGet">
<http:address location="https://ws.cdyne.com/ip2geo/ip2geo.asmx"/>
</wsdl:port>
<wsdl:port name="IP2GeoHttpPost" binding="tns:IP2GeoHttpPost">
<http:address location="https://ws.cdyne.com/ip2geo/ip2geo.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
curl -k -v -X GET 'https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl' -H 'Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7'
GET https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl HTTP 1/1
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
HTTP/1.1 200
Content-Type: application/zip; name=stockQuote1xsd.zip
Content-Length: 1642
<binary-data>
curl -k -v -X GET 'https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl' -H 'Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7'
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Requested WSDL document of the API is returned |
|
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
404 |
Not Found. Requested API does not exist. |
Error |
406 |
Not Acceptable. The requested media type is not supported |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis/import-asyncapi
This operation can be used to create and API from the AsyncAPI Specification. Provide either 'url' or 'file' to specify the definition. Specify additionalProperties with **at least** API's name, version, context and endpointConfig.
apim:api_create
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Form |
file optional |
Definition to upload as a file |
File | |
| Form |
url optional |
Definition url |
String | |
| Form |
additionalProperties optional |
Additional attributes specified as a stringified JSON with API's schema |
String |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
Created. Successful response with the newly created object as entity in the body. Location header contains URL of newly created entity. |
API |
400 |
Bad Request. Invalid request or validation error. |
Error |
415 |
Unsupported Media Type. The entity of the request was in a not supported format. |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis/import-openapi
This operation can be used to create an API from an OpenAPI definition. Provide either `url` or `file` to specify the definition. Specify additionalProperties with **at least** API's name, version, context and endpointConfig.
apim:api_create
POST https://localhost:9443/api/am/publisher/v1/apis/import-openapi HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_4_2096758352.1563880508761"
Authorization: Bearer 031cf7d6-4f49-3089-a164-5289b171203a
Content-Length: 2972
------=_Part_4_2096758352.1563880508761
Content-Disposition: form-data; name="additionalProperties"
{ "name": "PetstoreAPI", "context" : "/petstore", "version" : "1.0.0"}
------=_Part_4_2096758352.1563880508761
Content-Type: application/octet-stream; name=petstore.v3.yaml
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="file"; filename="petstore.v3.yaml"
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/pets:
get:
summary: List all pets
operationId: listPets
tags:
- pets
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A paged array of pets
headers:
x-next:
description: A link to the next page of responses
schema:
type: string
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
summary: Create a pet
operationId: createPets
tags:
- pets
responses:
'201':
description: Null response
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/pets/{petId}:
get:
summary: Info for a specific pet
operationId: showPetById
tags:
- pets
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
Pets:
type: array
items:
$ref: "#/components/schemas/Pet"
Error:
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string
------=_Part_4_2096758352.1563880508761--
HTTP/1.1 201 Created
Location: https://localhost:9443/api/am/publisher/v1/apis/ded1a2fd-1a56-4eab-ae5f-07f8df03b0bd
Content-Type: application/json
Transfer-Encoding: chunked
{
"id" : "089dac61-a58d-4eaf-9575-3beb5a8eec01",
"name" : "PetstoreAPI",
"description" : null,
"context" : "/petstore",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"wsdlUri" : null,
"responseCaching" : null,
"cacheTimeout" : 300,
"destinationStatsEnabled" : null,
"hasThumbnail" : null,
"isDefaultVersion" : false,
"type" : "HTTP",
"transport" : [
"http",
"https"
],
"tags" : [ ],
"policies" : [ ],
"apiThrottlingPolicy" : "Unlimited",
"authorizationHeader" : null,
"securityScheme" : [
"oauth2",
"oauth_basic_auth_mandatory"
],
"maxTps" : null,
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"endpointSecurity" : null,
"gatewayEnvironments" : [ ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailability" : "ALL_TENANTS",
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"monetization" : null,
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : {
"businessOwner" : null,
"businessOwnerEmail" : null,
"technicalOwner" : null,
"technicalOwnerEmail" : null
},
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [
"*"
],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [
"authorization",
"Access-Control-Allow-Origin",
"Content-Type",
"SOAPAction"
],
"accessControlAllowMethods" : [
"GET",
"PUT",
"POST",
"DELETE",
"PATCH",
"OPTIONS"
]
},
"workflowStatus" : null,
"createdTime" : null,
"lastUpdatedTime" : null,
"endpointConfig" : null,
"scopes" : [ ],
"operations" : [
{
"id" : "",
"uritemplate" : "/pets",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
},
{
"id" : "",
"uritemplate" : "/pets",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
},
{
"id" : "",
"uritemplate" : "/pets/{petId}",
"httpVerb" : "GET",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}
],
"threatProtectionPolicies" : null
}
curl -k -H "Authorization: Bearer 031cf7d6-4f49-3089-a164-5289b171203a" -F<EMAIL_ADDRESS>-F additionalProperties='{ "name": "PetstoreAPI", "context" : "/petstore", "version" : "1.0.0"}' -X POST https://localhost:9443/api/am/publisher/v1/apis/import-openapi
POST https://localhost:9443/api/am/publisher/v1/apis/import-openapi HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary="----=_Part_3_xxxx.xxxxxxx"
MIME-Version: 1.0
Authorization: Bearer 031cf7d6-4f49-3089-a164-5289b171203a
Content-Length: xxxx
Host: localhost:9443
------=_Part_3_163462078.1563876620605
Content-Disposition: form-data; name="additionalProperties"
{
"name":"PetstoreAPI",
"context":"/petstore",
"version":"1.0.0",
"operations":[
{
"id":"",
"uritemplate":"/pets",
"httpVerb":"POST",
"authType":"Application & Application User",
"throttlingPolicy":"Unlimited",
"scopes":[
]
}
]
}
------=_Part_3_xxxxx.xxxxx
Content-Type: application/octet-stream; name=petstore.v3.yaml
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="file"; filename="petstore.v3.yaml"
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/pets:
get:
summary: List all pets
operationId: listPets
tags:
- pets
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A paged array of pets
headers:
x-next:
description: A link to the next page of responses
schema:
type: string
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
summary: Create a pet
operationId: createPets
tags:
- pets
responses:
'201':
description: Null response
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/pets/{petId}:
get:
summary: Info for a specific pet
operationId: showPetById
tags:
- pets
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
Pets:
type: array
items:
$ref: "#/components/schemas/Pet"
Error:
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string
------=_Part_3_xxxx.xxxxxx--
HTTP/1.1 201 Created
Location: https://localhost:9443/api/am/publisher/v1/apis/ded1a2fd-1a56-4eab-ae5f-07f8df03b0bd
Content-Type: application/json
Transfer-Encoding: chunked
{
"id" : "ded1a2fd-1a56-4eab-ae5f-07f8df03b0bd",
"name" : "PetstoreAPI",
"description" : null,
"context" : "/petstore",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"wsdlUri" : null,
"responseCaching" : null,
"cacheTimeout" : 300,
"destinationStatsEnabled" : null,
"hasThumbnail" : null,
"isDefaultVersion" : false,
"type" : "HTTP",
"transport" : [
"http",
"https"
],
"tags" : [ ],
"policies" : [ ],
"apiThrottlingPolicy" : "Unlimited",
"authorizationHeader" : null,
"securityScheme" : [
"oauth2",
"oauth_basic_auth_mandatory"
],
"maxTps" : null,
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"endpointSecurity" : null,
"gatewayEnvironments" : [ ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailability" : "ALL_TENANTS",
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"monetization" : null,
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : {
"businessOwner" : null,
"businessOwnerEmail" : null,
"technicalOwner" : null,
"technicalOwnerEmail" : null
},
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [
"*"
],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [
"authorization",
"Access-Control-Allow-Origin",
"Content-Type",
"SOAPAction"
],
"accessControlAllowMethods" : [
"GET",
"PUT",
"POST",
"DELETE",
"PATCH",
"OPTIONS"
]
},
"workflowStatus" : null,
"createdTime" : null,
"lastUpdatedTime" : null,
"endpointConfig" : null,
"scopes" : [ ],
"operations" : [
{
"id" : "",
"uritemplate" : "/pets",
"httpVerb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
}
],
"threatProtectionPolicies" : null
}
curl -k -H "Authorization: Bearer 031cf7d6-4f49-3089-a164-5289b171203a" -F<EMAIL_ADDRESS>-F additionalProperties='{ "name": "PetstoreAPI", "context" : "/petstore", "version" : "1.0.0" , "operations": [{ "uritemplate": "/pets", "httpVerb": "POST", "authType": "Application & Application User", "throttlingPolicy": "Unlimited", "scopes": []}]}' -X POST https://localhost:9443/api/am/publisher/v1/apis/import-openapi
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Form |
file optional |
Definition to upload as a file |
File | |
| Form |
url optional |
Definition url |
String | |
| Form |
additionalProperties optional |
Additional attributes specified as a stringified JSON with API's schema |
String |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
Created. Successful response with the newly created object as entity in the body. Location header contains URL of newly created entity. |
API |
400 |
Bad Request. Invalid request or validation error. |
Error |
415 |
Unsupported Media Type. The entity of the request was in a not supported format. |
Error |
POST https://apis.wso2.com/api/am/publisher/v1/apis/import-wsdl
This operation can be used to create an API using a WSDL definition. Provide either `url` or `file` to specify the definition. WSDL can be speficied as a single file or a ZIP archive with WSDLs and reference XSDs etc. Specify additionalProperties with **at least** API's name, version, context and endpointConfig.
apim:api_create
POST https://localhost:9443/api/am/publisher/v1/apis/import-wsdl HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_31_1920670410.1568041157990"
MIME-Version: 1.0
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
Content-Length: 922
------=_Part_31_1920670410.1568041157990
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="url"
https://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl
------=_Part_31_1920670410.1568041157990
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="additionalProperties"
{ "name" : "IP2GeoAPI", "context" : "/ip2Geo", "version" : "1.0.0", "endpointConfig": { "endpoint_type": "http", "sandbox_endpoints": { "url": "https://ws.cdyne.com/ip2geo/ip2geo.asmx"}, "production_endpoints": { "url": "https://ws.cdyne.com/ip2geo/ip2geo.asmx" } }, "policies": [ "Unlimited"] }
------=_Part_31_1920670410.1568041157990
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="implementationType"
SOAP
------=_Part_31_1920670410.1568041157990--
HTTP 1/1 201 Created
Content-Type: application/json
Location: https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4
{
"id" : "7369e7ba-ac2e-4492-9fa5-9d2cd6029db4",
"name" : "IP2GeoAPI",
"context" : "/ip2Geo",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"wsdlInfo" : {
"type" : "WSDL"
},
"responseCachingEnabled" : false,
"cacheTimeout" : 300,
"isDefaultVersion" : false,
"enableSchemaValidation" : false,
"type" : "SOAP",
"transport" : [ "http", "https" ],
"tags" : [ ],
"policies" : [ "Unlimited" ],
"apiThrottlingPolicy" : "Unlimited",
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailability" : "ALL_TENANTS",
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : { },
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"createdTime" : "2019-09-09 20:29:19.912",
"lastUpdatedTime" : "2019-09-09 20:29:19.912",
"endpointConfig" : {
"endpoint_type" : "http",
"sandbox_endpoints" : {
"url" : "https://ws.cdyne.com/ip2geo/ip2geo.asmx"
},
"production_endpoints" : {
"url" : "https://ws.cdyne.com/ip2geo/ip2geo.asmx"
}
},
"endpointImplementationType" : "ENDPOINT",
"scopes" : [ ],
"operations" : [ {
"id" : "",
"target" : "/*",
"verb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -H "Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7" -F url='https://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl' -F additionalProperties='{ "name" : "IP2GeoAPI", "context" : "/ip2Geo", "version" : "1.0.0", "endpointConfig": { "endpoint_type": "http", "sandbox_endpoints": { "url": "https://ws.cdyne.com/ip2geo/ip2geo.asmx"}, "production_endpoints": { "url": "https://ws.cdyne.com/ip2geo/ip2geo.asmx" } }, "policies": [ "Unlimited"] }' -F implementationType=SOAP -X POST https://localhost:9443/api/am/publisher/v1/apis/import-wsdl
POST https://localhost:9443/api/am/publisher/v1/apis/import-wsdl HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_30_581164590.1568040945994"
MIME-Version: 1.0
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
Content-Length: 6373
------=_Part_30_581164590.1568040945994
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="additionalProperties"
{ "name" : "StockQuoteAPI", "context" : "/stock-quote", "version" : "1.0.0", "endpointConfig": { "endpoint_type": "http", "sandbox_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx"}, "production_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx" } }, "policies": [ "Unlimited"] }
------=_Part_30_581164590.1568040945994
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="implementationType"
SOAP
------=_Part_30_581164590.1568040945994
Content-Type: text/xml; charset=UTF-8; name=stockQuote.wsdl
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="file"; filename="stockQuote.wsdl"
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webserviceX.NET/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webserviceX.NET/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/">
<s:element name="GetQuote">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetQuoteResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetQuoteResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="string" nillable="true" type="s:string" />
</s:schema>
</wsdl:types>
...
...
...
<wsdl:service name="StockQuote">
<wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">
<soap:address location="http://www.webservicex.net/stockquote.asmx" />
</wsdl:port>
<wsdl:port name="StockQuoteSoap12" binding="tns:StockQuoteSoap12">
<soap12:address location="http://www.webservicex.net/stockquote.asmx" />
</wsdl:port>
<wsdl:port name="StockQuoteHttpGet" binding="tns:StockQuoteHttpGet">
<http:address location="http://www.webservicex.net/stockquote.asmx" />
</wsdl:port>
<wsdl:port name="StockQuoteHttpPost" binding="tns:StockQuoteHttpPost">
<http:address location="http://www.webservicex.net/stockquote.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
------=_Part_30_581164590.1568040945994--
HTTP 1/1 201 Created
Content-Type: application/json
Location: https://localhost:9443/api/am/publisher/v1/apis/ac12ad69-7b81-4bf9-9846-84995f456823
{
"id" : "ac12ad69-7b81-4bf9-9846-84995f456823",
"name" : "StockQuoteAPI",
"context" : "/stock-quote",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"wsdlInfo" : {
"type" : "WSDL"
},
"responseCachingEnabled" : false,
"cacheTimeout" : 300,
"isDefaultVersion" : false,
"enableSchemaValidation" : false,
"type" : "SOAP",
"transport" : [ "http", "https" ],
"tags" : [ ],
"policies" : [ "Unlimited" ],
"apiThrottlingPolicy" : "Unlimited",
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailability" : "ALL_TENANTS",
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : { },
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"createdTime" : "2019-09-09 20:25:46.209",
"lastUpdatedTime" : "2019-09-09 20:25:46.209",
"endpointConfig" : {
"endpoint_type" : "http",
"sandbox_endpoints" : {
"url" : "http://www.webservicex.net/stockquote.asmx"
},
"production_endpoints" : {
"url" : "http://www.webservicex.net/stockquote.asmx"
}
},
"endpointImplementationType" : "ENDPOINT",
"scopes" : [ ],
"operations" : [ {
"id" : "",
"target" : "/*",
"verb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -H "Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7" -F<EMAIL_ADDRESS>-F additionalProperties='{ "name" : "StockQuoteAPI", "context" : "/stock-quote", "version" : "1.0.0", "endpointConfig": { "endpoint_type": "http", "sandbox_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx"}, "production_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx" } }, "policies": [ "Unlimited"] }' -F implementationType=SOAP -X POST https://localhost:9443/api/am/publisher/v1/apis/import-wsdl
POST https://localhost:9443/api/am/publisher/v1/apis/import-wsdl HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_29_1617587938.1568040715278"
MIME-Version: 1.0
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
Content-Length: 2600
------=_Part_29_1617587938.1568040715278
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="additionalProperties"
{ "name" : "StockQuoteArchiveAPI", "context" : "/stock-quote-archive-api", "version" : "1.0.0", "endpointConfig": { "endpoint_type": "http", "sandbox_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx"}, "production_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx" } }, "policies": [ "Unlimited"] }
------=_Part_29_1617587938.1568040715278
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="implementationType"
SOAP
------=_Part_29_1617587938.1568040715278
Content-Type: application/zip; name=stockQuote1xsd.zip
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="file"; filename="stockquote.zip"
...
<binary-data>
...
------=_Part_28_1401043672.1568039946169--
HTTP 1/1 201 Created
Location: https://localhost:9443/api/am/publisher/v1/apis/0a87c289-31b3-4263-b18b-d2a895b83735
Content-Type: application/json
{
"id" : "0a87c289-31b3-4263-b18b-d2a895b83735",
"name" : "StockQuoteArchiveAPI",
"context" : "/stock-quote-archive-api",
"version" : "1.0.0",
"provider" : "admin",
"lifeCycleStatus" : "CREATED",
"wsdlInfo" : {
"type" : "WSDL"
},
"responseCachingEnabled" : false,
"cacheTimeout" : 300,
"isDefaultVersion" : false,
"enableSchemaValidation" : false,
"type" : "SOAP",
"transport" : [ "http", "https" ],
"tags" : [ ],
"policies" : [ "Unlimited" ],
"apiThrottlingPolicy" : "Unlimited",
"securityScheme" : [ "oauth2", "oauth_basic_auth_mandatory" ],
"visibility" : "PUBLIC",
"visibleRoles" : [ ],
"visibleTenants" : [ ],
"gatewayEnvironments" : [ ],
"labels" : [ ],
"mediationPolicies" : [ ],
"subscriptionAvailability" : "ALL_TENANTS",
"subscriptionAvailableTenants" : [ ],
"additionalProperties" : { },
"accessControl" : "NONE",
"accessControlRoles" : [ ],
"businessInformation" : { },
"corsConfiguration" : {
"corsConfigurationEnabled" : false,
"accessControlAllowOrigins" : [ "*" ],
"accessControlAllowCredentials" : false,
"accessControlAllowHeaders" : [ "authorization", "Access-Control-Allow-Origin", "Content-Type", "SOAPAction" ],
"accessControlAllowMethods" : [ "GET", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ]
},
"createdTime" : "2019-09-09 20:21:55.507",
"lastUpdatedTime" : "2019-09-09 20:21:55.507",
"endpointConfig" : {
"endpoint_type" : "http",
"sandbox_endpoints" : {
"url" : "http://www.webservicex.net/stockquote.asmx"
},
"production_endpoints" : {
"url" : "http://www.webservicex.net/stockquote.asmx"
}
},
"endpointImplementationType" : "ENDPOINT",
"scopes" : [ ],
"operations" : [ {
"id" : "",
"target" : "/*",
"verb" : "POST",
"authType" : "Application & Application User",
"throttlingPolicy" : "Unlimited",
"scopes" : [ ]
} ]
}
curl -k -H "Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7" -F<EMAIL_ADDRESS>-F additionalProperties='{ "name" : "StockQuoteArchiveAPI", "context" : "/stock-quote-archive-api", "version" : "1.0.0", "endpointConfig": { "endpoint_type": "http", "sandbox_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx"}, "production_endpoints": { "url": "http://www.webservicex.net/stockquote.asmx" } }, "policies": [ "Unlimited"] }' -F implementationType=SOAP -X POST https://localhost:9443/api/am/publisher/v1/apis/import-wsdl
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Form |
file optional |
WSDL definition as a file |
File | |
| Form |
url optional |
WSDL Definition url |
String | |
| Form |
additionalProperties optional |
Additional attributes specified as a stringified JSON with API's schema |
String | |
| Form |
implementationType optional |
If 'SOAP' is specified, the API will be created with only one resource 'POST /*' which is to be used for SOAP operations. If 'HTTP_BINDING' is specified, the API will be created with resources using HTTP binding operations which are extracted from the WSDL. Accepted values: SOAPTOREST
SOAP
|
String |
SOAP |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
Created. Successful response with the newly created object as entity in the body. Location header contains URL of newly created entity. |
API |
400 |
Bad Request. Invalid request or validation error. |
Error |
415 |
Unsupported Media Type. The entity of the request was in a not supported format. |
Error |
PUT https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/thumbnail
This operation can be used to upload a thumbnail image of an API. The thumbnail to be uploaded should be given as a form data parameter `file`.
apim:api_create
apim:api_publish
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Form |
file required |
Image to upload |
File | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Image updated |
FileInfo |
400 |
Bad Request. Invalid request or validation error. |
Error |
404 |
Not Found. The resource to be updated does not exist. |
Error |
412 |
Precondition Failed. The request has not been performed because one of the preconditions is not met. |
Error |
PUT https://apis.wso2.com/api/am/publisher/v1/apis/{apiId}/wsdl
This operation can be used to update the WSDL definition of an existing API. WSDL to be updated can be passed as either "url" or "file". Only one of "url" or "file" can be used at the same time. "file" can be specified as a single WSDL file or as a zip file which has a WSDL and its dependencies (eg: XSDs)
apim:api_create
PUT https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_32_1344536553.1568106480012"
MIME-Version: 1.0
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
Content-Length: 425
------=_Part_32_1344536553.1568106480012
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="file"
------=_Part_32_1344536553.1568106480012
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="url"
https://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl
------=_Part_32_1344536553.1568106480012--
HTTP 1/1 200 OK
Content-Length: 0
curl -k -H "Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7" -F url='https://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl' -F file='' -X PUT https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl
PUT https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_34_1125730933.1568107415435"
MIME-Version: 1.0
Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7
Content-Length: 5697
------=_Part_34_1125730933.1568107415435
Content-Type: text/xml; charset=UTF-8; name=stockQuote.wsdl
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="file"; filename="stockQuote.wsdl"
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webserviceX.NET/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webserviceX.NET/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/">
<s:element name="GetQuote">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetQuoteResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetQuoteResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="string" nillable="true" type="s:string" />
</s:schema>
</wsdl:types>
...
...
...
<wsdl:port name="StockQuoteHttpGet" binding="tns:StockQuoteHttpGet">
<http:address location="http://www.webservicex.net/stockquote.asmx" />
</wsdl:port>
<wsdl:port name="StockQuoteHttpPost" binding="tns:StockQuoteHttpPost">
<http:address location="http://www.webservicex.net/stockquote.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
------=_Part_34_1125730933.1568107415435--
HTTP 1/1 200 OK
Content-Length: 0
curl -k -H "Authorization: Bearer 6cc80644-dd9b-3213-a3ca-0037da5caae7" -F<EMAIL_ADDRESS>-X PUT https://localhost:9443/api/am/publisher/v1/apis/7369e7ba-ac2e-4492-9fa5-9d2cd6029db4/wsdl
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
apiId required |
**API ID** consisting of the **UUID** of the API. |
String | |
| Form |
file optional |
WSDL file or archive to upload |
File | |
| Form |
url optional |
WSDL Definition url |
String | |
| Header |
If-Match optional |
Validator for conditional requests; based on ETag. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Successful response with updated WSDL definition |
|
400 |
Bad Request. Invalid request or validation error |
Error |
403 |
Forbidden. The request must be conditional but no condition has been specified. |
Error |
404 |
Not Found. The resource to be updated does not exist. |
Error |
412 |
Precondition Failed. The request has not been performed because one of the preconditions is not met. |
Error |


Event Location:
University of Iowa
101 Jessup Hall
East Iowa, Iowa
Abstract:
ASP.NET MVC is Microsoft's implementation of an old design pattern, which fits web development better than ASP.NET does. It simplifies multiple aspects of web development that were complex in ASP.NET. It also gives ASP.NET developers a better and more accurate abstraction layer over the web. For example it doesn't use the problematic ViewState object. It removes most of the overly complex page lifecycle and it simplifies the ability to unit test web requests. In this presentation we'll explain the MVC terminology and then we'll explore how to work with Controllers, Actions, Views and the Model. Then we'll walk though a real but simple ASP.NET MVC site so you can leave this session with enough knowledge to start a new ASP.NET MVC project.
Speaker(s): Chris Sutton,
Abstract:
PowerShell is Microsoft's next-generation command-line shell and scripting language. In this session we will discuss why you need it, how to use it, and what makes it different from any other shell on any platform. For administrators, Microsoft is investing heavily in PowerShell as the hub for its Windows Server products, starting with Exchange 2007 and SQL Server 2008. For developers, PowerShell provides full access to .NET for Read-Eval-Print loops (REPL), rapid prototyping, object exploration and extensibility. We will take a quick look at features for both groups before diving into an interactive demo, so come prepared with questions you have or problems we can solve together.
Speaker(s): Keith Dahlby,
Abstract:
At some point, everyone struggles with loading data to OLTP systems. The business needs the data loaded so that users can work through the data. But the users can’t afford the downtime to get the data into the production tables. In this session we’ll review this problem and how to use partitioning to alleviate this issue. Prerequisites Basic understanding for partitioned table concepts Familiarity with OLTP systems Goals: 1. Identify situations where partitioned tables can improve database performance 2. Demonstrate partitioned table solution for daily imports 3. Provide understanding of the pro’s and con’s to selecting partitioned tables as a import solution for an OLTP system
Speaker(s): Jason Strate,
Abstract:
There are many ways to performance monitor your SQL Server environment. In this session we’ll review Extended Events, which is one of the newer SQL Server monitoring platforms. Learn the ins and outs of how to get detailed information on the errors and events that occur within SQL Server and how to dig into the information. With a few T-SQL statements, issues that could take weeks to research can be investigated in minutes. Prerequisites Understanding of performance issues that can occur in SQL Server Mid-level skills writing T-SQL code Goals: 1. Define the architecture for Extended Events 2. Identify scenarios where Extended Event can be used to troubleshoot performance 3. Demonstrate solutions to real-world performance sce
Speaker(s): Jason Strate,
Abstract:
SQL Server 2008 provided us with many features that developers and database administrators have been asking about for years. Separate Date and Time data types, sparse columns, FILESTREAM and compression for both data and backups have made the platform better than ever. So how do you build on a platform that strong? By adding features like multi-server management, application management and complex event processing, of course. Come along with me as we explore these new features with the August CTP of SQL Server 2008 R2.
Speaker(s): Chuck Heinzelman,
Abstract:
Having had to support a large number of SQL Server instances as a solo DBA for many years I've developed a toolbox of scripts that I rely on to give me insight into disk space, database file growth, backup status, job status, and login management. Some of these I've shared on mssqltips.com, others are seeing the public light for the first time. Attendees go home with scripts they can immediately put to use in their organizations.
Speaker(s): Tim Ford,
Abstract:
Microsoft SQL Server provides a wealth of information at your fingertips through Dynamic Management Views (DMVs) and Dynamic Management Functions (DMFs). Information that was used difficult or pert near impossible to obtain is now at your fingertips. Unfortunately there are many find DMVs and DMFs mysterious. Step under SQL Servers hood and find answers to some common issues through DMVs and DMFs. From sessions to caches, this presentation will provide a walk-through of some of the more useful DMVs and a take practical look at how they can be used? Prerequisites Understanding of database administration functions Goals: 1. Provide a definition of key DMVs within SQL Server 2. Learn how to use DMVs to discover statistics on the s
Speaker(s): Jason Strate,
Abstract:
Common Table Expressions (CTE) aren’t as common as their name implies. CTEs are often seen as a secret part of the dark art of recursion. This session will explore CTEs to show how they can be extremely useful in improving performance and legibility of T-SQL code. And, of course, we will look at their use in returning recursive data. Prerequisites Understand of basic T-SQL coding Goals: Provide an understanding of the purpose and use of CTEs for recursion and derived tables Define the pro’s and con’s to using CTEs in recursion and for derived tables Demonstrate real-world examples detailing methods for using CTEs to solve coding challenges
Speaker(s): Jason Strate,
Abstract:
Database mirroring was introduced as a new database-scoped high-availability option in SQL Server 2005 and has quickly become a popular alternative to database clustering and log shipping. We will look at what makes database mirroring a particularly inviting option, the basics behind the technology and implementation as well as discuss first-hand the caveats we discovered during the implementation of database mirroring at the University of Iowa.
Speaker(s): Zakir Durumeric,
Abstract:
In this session I will give an overview of how to design a database, including the common normal forms and why they should matter to you if you are creating or modifying SQL Server databases. Data should be easy to work with in SQL Server if the database has been organized as close as possible to the standards of normalization that have proven for many years. Many common T-SQL programming "difficulties" are the result of struggling against the way data should be structured and can be avoided by applying the basic normalization techniques and are obvious things that you find yourself struggling with time and again (i.e. using the SUBSTRING function in a WHERE clause meaning you can't use an index efficiently).
Speaker(s): Louis Davidson,
Abstract:
This session will provide an introduction to dimensions in SQL Server Analysis Services 2008. We will discuss the different types of dimensions and how to create dimension attributes, hierarchies, and properties. Finally, we'll discuss the different properties of dimensions used to create more performant SSAS processing and querying.
Speaker(s): Jessica Moss,
Abstract:
Many DBAs and Developers are faced with tuning poorly performing SQL statements. However, many tuning projects fail because the process being used is inefficient. This presentation will walk through a process Confio Software uses with great success and will include topics such as: SQL diagramming, wait time data, indexing strategies, column selectivity and several more that will help the you succeed on future tuning projects.
Speaker(s): Janis Griffin,
Abstract:
This presentation is based on two years of real life experience with database unit testing. I will explain in which cases database unit testing is most useful. I will show how we test selects, modifications, and error handling. Also I will demonstrate which common maintenance problems arise when we cover our source code with unit tests and how to deal with them. Duration: 45 minutes
Speaker(s): Alex Kuznetsov,
Abstract:
A comparison of SQL high-availability options, by a practitioner who has implemented and managed most all of the various SQL HA approaches. Tim is an operational SQL DBA, charged with keeping SQL servers up and running and optimized, for managed-services customers. We will compare trade-offs between the various SQL HA options: for complexity, usability, hardware requirements, licensing, failover speed, initial costs, ongoing support costs, staff skill requirements, etc.
Speaker(s): Tim Plas,
Abstract:
Service Broker was introduced in 2005 as an asynchronous message-based communications platform for SQL Server. If configured correctly, Service Broker can be a huge time saver when developing distributed applications. However, it has also become known as one of the trickiest parts of SQL Server to setup correctly. We will go over the basic architecture of service broker and the tricks to get it implemented right, the first time.
Speaker(s): Zakir Durumeric,
Abstract:
I will explain what is defensive database programming, what are its advantages, and provide several simple real life examples that show how to use it. I will demonstrate how to develop robust Transact SQL code that correctly works in high concurrency environments, gracefully handles cases of unintended use, and is easy to maintain in changing environments.
Speaker(s): Alex Kuznetsov,
Abstract:
When learning a new technology, I like to try to solve a real-world problem that will help me not only learn but also help me in my daily life. Learning SQL Server 2008 was no exception for me. Through the building of an electronic recipe box, I have taken advantage of many of the new features of SQL Server 2008 – including sparse columns, filestream, table-valued parameters, the MERGE statement and even spatial data. Come learn from my experiences as we walk through the design and development of this application – and you can even have the code when we’re done!
Speaker(s): Chuck Heinzelman,
Abstract:
Let’s learn how to build reports in SQL Server Reporting Services 2008. This presentation will show the features of SSRS 2008 by building multiple reports. We will see how to include HTML in your reports, show various ways to present data, and make your data pop with visualizations.
Speaker(s): Jessica Moss,
Abstract:
One data warehouse buzzword that often gets used is "ETL", also known as extract, transform, and load. But what does this really mean from a data warehousing perspective and how do we use SQL Server Integration Services to perform these ETL functions? This session will answer these questions and show solutions to common ETL problems.
Speaker(s): Jessica Moss,
Abstract:
My developers keep asking me when we're going to migrate to SQL Server 2008....you keep hearing about SQL Server 2008.... everything from resource governor to spatial data recognition... so what really ARE those new and cool features in SQL Server 2008 and why do you care?
Speaker(s): Zakir Durumeric,
Abstract:
This talk will focus on the benefits, features, sign up, code examples and ease of use of SQL Azure. Learn how your projects can benefit from a hosted data storage and query processing service. See by example how to design your program to use SQL Azure.
Speaker(s): Aaron King,
Abstract:
Beyond database design fundamentals (for example, Normalization) lies the area where you have to create "real" solutions. In this session, I will cover a good number of patterns that we commonly find useful to try to apply to the problem of building a database solution. Ideas like generalization, subclassing, single table domain tables, optional data, and more will be discussed, some of them good, some not so good (don't assume which will be which), but all that are common and/or useful for your database implementations.
Speaker(s): Louis Davidson,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
Contact: http://sqlblog.com/blogs/alexander_kuznetsov/default.aspx
Alex Kuznetsov has worked with databases since 1994. Currently he leads database development team for a financial company in Chicago. He wrote multiple articles on database programming and is an active blogger on sqlblog.com. He is a SQL Server MVP.
LinkedIn: http://www.linkedin.com/in/louisdavidson
Contact: https://www.red-gate.com/simple-talk/author/louis-davidson/
Louis Davidson has worked in the IT industry for over 25 years as a corporate database developer and architect. He has been a Microsoft SQL Server MVP for 15 years and has written five books on database design, and contributed to many other SQL Server books as an author and tech editor. He has a bachelor's degree in Computer Science from the University of Tennessee at Chattanooga. You can read more about Louis at http://drsql.org.
Contact: http://www.jasonstrate.com
Jason Strate, Digineer Inc, has been a Database Architect for over ten years. His experiences include designing and implementing both OLAP and OLTP solutions involving clustering servers, database monitoring and tuning, analysis services, DTS/Integration Services, Reporting Services, and Notification Services. Jason is actively involved with the local PASS chapter (SQL Server User Group); he is currently serving on the Executive Board and has presented at monthly meetings. Jason contributed to M
Contact: http://www.aaronstanleyking.com
Aaron has over 10 years experience in web development. He has designed large applications hosted on dozens of servers across locations that support thousands of users at once and millions of registered users. He has mentored several successful development teams. His main focus is connecting very large databases to internet users thru feature rich Microsoft web applications.
LinkedIn: http://www.linkedin.com/in/louisdavidson
Contact: https://www.red-gate.com/simple-talk/author/louis-davidson/
Louis Davidson has worked in the IT industry for over 25 years as a corporate database developer and architect. He has been a Microsoft SQL Server MVP for 15 years and has written five books on database design, and contributed to many other SQL Server books as an author and tech editor. He has a bachelor's degree in Computer Science from the University of Tennessee at Chattanooga. You can read more about Louis at http://drsql.org.
Contact: http://sqlblog.com/blogs/alexander_kuznetsov/default.aspx
Alex Kuznetsov is a database developer with more than a decade of experience. Alex has written a book entitled "Defensive Database Programming with Transact-SQL", and contributed to "MVP Deep Dives" and "The Red Gate Guide to SQL Server Team-based Development". He blogs on sqlblog.com and publishes articles on simple-talk.com and devx.com,.
Zakir Durumeric is a Systems Administrator at the University of Iowa where he is responsible for Windows based systems and data management within Research Information Systems. Zakir spends his day working with everything from database and application architecture to identity management programming, but one thing is for sure... he lives within SQL Server day-in and day-out.
Contact: http://www.jasonstrate.com
Jason Strate, Digineer Inc, has been a Database Architect for over ten years. His experiences include designing and implementing both OLAP and OLTP solutions involving clustering servers, database monitoring and tuning, analysis services, DTS/Integration Services, Reporting Services, and Notification Services. Jason is actively involved with the local PASS chapter (SQL Server User Group); he is currently serving on the Executive Board and has presented at monthly meetings. Jason contributed to M
LinkedIn: https://www.linkedin.com/in/tplas
Tim is a Principal Consultant at Virteva, in Mpls MN. His current focus areas are cloud architecture / engineering / migration, operational-DBA services (esp. HA/DR), server migrations, server virtualization, and storage. His experience over the past 25+ years has been primarily with server / data-center infrastructure, including being CTO / co-founder of a successful hosting company. Tim has held a variety of MS certifications since 1994.
Contact: http://www.jasonstrate.com
Jason Strate, Digineer Inc, has been a Database Architect for over ten years. His experiences include designing and implementing both OLAP and OLTP solutions involving clustering servers, database monitoring and tuning, analysis services, DTS/Integration Services, Reporting Services, and Notification Services. Jason is actively involved with the local PASS chapter (SQL Server User Group); he is currently serving on the Executive Board and has presented at monthly meetings. Jason contributed to M
LinkedIn: http://www.linkedin.com/pub/janis-griffin/0/914/aba
Janis Griffin has over 30 years of DBA/database experience including design, development and implementation of many critical database applications. Before coming to Quest Software, Janis primarily worked in the Telecom/Network Industry, working with both real-time network routing databases and OLTP business to business applications. Janis also held positions as a Principal Architect and Senior Manager, mentoring other DBAs on best practices in database performance tuning.
Zakir Durumeric is a Systems Administrator at the University of Iowa where he is responsible for Windows based systems and data management within Research Information Systems. Zakir spends his day working with everything from database and application architecture to identity management programming, but one thing is for sure... he lives within SQL Server day-in and day-out.
Chuck Heinzelman is a SQL Server MVP and a Senior Database Administrator with Big Hammer Data – a division of Edgenet, Inc. At Big Hammer, his primary role is database design and development, with the occasional sidestep into server configuration and administration. He holds a BS degree in Management Computer Systems and is currently working on his MBA. He has been working with SQL Server since 1998, and also has experience developing Windows and Web applications using Visual Basic and C#.
Contact: http://www.jessicammoss.com
Jessica M. Moss is a well-known architect, speaker, author, and Microsoft MVP of SQL Server Business Intelligence. Jessica#39;s expertise includes data warehouse modeling, Integration Services ETL, Analysis Services semantic modeling, Reporting Services report design, and helping customers across industries successfully implement and enhance their BI solutions. She enjoys sharing her knowledge with the SQL community and has co-authored numerous technical books.
Zakir Durumeric is a Systems Administrator at the University of Iowa where he is responsible for Windows based systems and data management within Research Information Systems. Zakir spends his day working with everything from database and application architecture to identity management programming, but one thing is for sure... he lives within SQL Server day-in and day-out.
Contact: http://thesqlagentman.com
Tim Ford is a Microsoft SQL Server MVP and co-founder of SQL Cruise (sqlcruise.com). He is currently a Senior DBA and the SQL Server SME with Spectrum Health, a major healthcare system located in West Michigan. He is the leader of the West Michigan SQL Server Users Group (westmisql.org) and is a community speaker and author. His book with Louis Davidson: Performance Tuning With SQL Server Dynamic Management Views is now widely available.
Contact: http://www.jessicammoss.com
Jessica M. Moss is a well-known architect, speaker, author, and Microsoft MVP of SQL Server Business Intelligence. Jessica#39;s expertise includes data warehouse modeling, Integration Services ETL, Analysis Services semantic modeling, Reporting Services report design, and helping customers across industries successfully implement and enhance their BI solutions. She enjoys sharing her knowledge with the SQL community and has co-authored numerous technical books.
Contact: http://twitter.com/chrissutton
Chris Sutton is a software developer and technical trainer in Eastern Iowa. He helps run CRineta.org in Cedar Rapids, Iowa and he co-founded the Iowa Code Camp in 2008. Chris is a Microsoft MVP, a Microsoft Certified Trainer (MCT) and holds the MCPD:Enterprise certification. He has been consulting and speaking on the ASP.NET MVC Framework since the beginning of 2008 and loves developing for the web. He also enjoys hiking and biking in the summer with his family and snowshoeing in the winter.
Chuck Heinzelman is a SQL Server MVP and a Senior Database Administrator with Big Hammer Data – a division of Edgenet, Inc. At Big Hammer, his primary role is database design and development, with the occasional sidestep into server configuration and administration. He holds a BS degree in Management Computer Systems and is currently working on his MBA. He has been working with SQL Server since 1998, and also has experience developing Windows and Web applications using Visual Basic and C#.
Contact: http://www.jessicammoss.com
Jessica M. Moss is a well-known architect, speaker, author, and Microsoft MVP of SQL Server Business Intelligence. Jessica#39;s expertise includes data warehouse modeling, Integration Services ETL, Analysis Services semantic modeling, Reporting Services report design, and helping customers across industries successfully implement and enhance their BI solutions. She enjoys sharing her knowledge with the SQL community and has co-authored numerous technical books.
Contact: http://solutionizing.net/
Keith Dahlby is a .NET developer and language geek from Cedar Rapids, IA. He works as a software guru at JP Cycles and blogs about various software development topics at Los Techies. Keith has spoken at community events around the midwest and studied Human-Computer Interaction at Iowa State University. His talks have been described as "terrific!", "very interactive!", and "the best I've seen all hour!"
Contact: http://www.jasonstrate.com
Jason Strate, Digineer Inc, has been a Database Architect for over ten years. His experiences include designing and implementing both OLAP and OLTP solutions involving clustering servers, database monitoring and tuning, analysis services, DTS/Integration Services, Reporting Services, and Notification Services. Jason is actively involved with the local PASS chapter (SQL Server User Group); he is currently serving on the Executive Board and has presented at monthly meetings. Jason contributed to M
The following is a list of sponsors that helped fund the event.


Mokse
My Own Knowledge Search Engine
Search Query:
Search
Add
OFF
Title:
No search result
Score:
Question:
Answer:
Results List


Wa All Stars sign former Dreams FC captain Abdul Bashiru
Ghana Premier League side Wa All Stars have signed left-back Abdul Bashiru in the ongoing transfer window.
Bashiru, 27, has returned to the Ghanaian top-flight league after a two-year stay in Kosovo with FC Prishtina.
The skillful left-back led the Dawu-based outfit to win promotion to the Ghana Premier League during the 2014/15 season.
He left Dreams FC to join FC Prishtina in Kosovo after a season-long loan stint with Bechem United.


Tractor-trailer sideswipes New York State Police vehicle; driver charged with DWI
by Katie JonesNICHOLS (WBNG) — A driver of a tractor-trailer has been charged with a DWI after sideswiping a New York State Police vehicle.
According to State Police, the state trooper was finishing up a traffic stop in Nichols when 35-year-old Darvi Maureland hit the side of the police vehicle in a tractor-trailer, and kept driving. Maureland was later pulled over by Tioga County Sheriff’s Deputies at Exit 64 in Owego.
The state trooper was transported to Lourdes Hospital, but is expected to be okay.
This is a developing story. Stick with 12 News for further updates.


Best collection of font icon. Gives scalable vector icons that can instantly be customized â€” size, color, drop shadow, and anything that can be done with the CSS styles.
Click here to see full list of icons
66 New Icons in 4.4


Hey, so you're probably looking for one of these:
PC Worldstate
PS4 Worldstate
XB1 Worldstate
Language JSON
Warframes JSON
Mission Types JSON
Sortie Translation JSON
Sol System Node JSON


Joe Gould's Secret Rated [R], 108 minutes Starring Ian Holm and Stanley Tucci Screenplay by Howard A. Rodman Based on New Yorker articles by Joseph Mitchell Directed by Stanley Tucci website: www.joegouldssecret.com
IN SHORT: One good one for us grownups.
There should be no secrets kept about Stanley Tucci's third outing as a
director. Joe Gould's Secret is an intelligent, touching, beautifully
written and acted film. A flat out fine film for those of us who don't
require explosions, foul mouthed rap music, gratuitous sex or violence
from our movies.[Not that there's anything wrong with that, but . . .
Writing from the experience of a life-long New Yorker, I can honestly report that in the decades while the homeless were anonymous, this city had what we called "characters". Some may or may not have been homeless or living in shelters, some may or may not have been addicts of any kind, but they all stood out from the average bum in the gutter. In the last twenty years, two come to mind. One, a very tall, blind poet, used to stand on the corner of Sixth Avenue and 53rd street in full Viking Warrior gear, spear and all, and recite for spare change. When he died last year, after a number of years in Europe, he got a full write-up in the New York Times. The second, Adam Purple (as in dressed head to foot in) squatted in an abandoned tenement downtown and built, over the course of a decade or two, an astounding garden on an abandoned plot of land. When the City trashed it to build low cost housing not only was it news, it broke our hearts.
Which brings us to the subject of Stanley Tucci's third feature as a director, Joe Gould's Secret. Joe Gould (Ian Holm) was, thanks to an article by Joseph Mitchell (Tucci) in The New Yorker, such a character. Initially known as Professor Sea Gull, because of his self proclaimed ability to converse in the language of the gull, the article made Gould a minor celebrity in the growing bohemian counterculture down in the Greenwich Village of 1942 or so. Planted in a window table at the Minetta Tavern, scribbling in a school composition notebook and/or reciting poetry or speaking the language of the gulls, Gould would solicit contributions to the "Joe Gould Fund" all of which was to support his massive written work in progress, "An Oral History of Our Time". Every conversation with every person Gould has met is written down and, he claims, stored in a lockbox of a memory that recalls every word.
Among Gould's famed contributors and supporters are Ezra Pound and e.e. cummings, neither of whom appear in the flick. We do get to meet artist Alice Neel (Susan Sarandon) and publisher Charlie Duell (Steve Martin) who do their best to try and give Joe the exposure they think he deserves. We do see his acceptance in The Raven Poetry Society, a group of snobs who, after ten years tolerating Joe's mooching at their buffet, allow him entry after fame strikes.
What we see best is a pair of great character performances by Tucci and Holm. Joe Mitchell's family life is rounded out by Hope Davis, as his photographer wife Therese and two kidlets (of whom one real life surviving kidlet consulted on the film) and it is a fully formed picture. We see a working guy do his story and try to move on -- except for the fact that the story keeps coming back. In this case, Gould camps out in the lobby of The New Yorker, waiting for Mitchell. And waiting. And waiting.
Joe Gould's "secret" is revealed in the film. What is more interesting is an even darker secret that pops up in the middle of the film and promptly disappears. You'll know it when you see it. Unless, of course, I'm suffering from an overactive imagination.
On average, a first run movie ticket will run you Eight Bucks. Were Cranky able to set his own price to Joe Gould's Secret, he would have paid . . .
$6.50
Much better than the average arthouse fare and, IMO, a return to the solid film-making talent Stanley Tucci showed in Big Night.
The Cranky Critic® is a Registered Trademark of, and Copyright © 2000 by, Chuck Schwartz. All Rights Reserved. Cranky on the web at www.crankycritic.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The SamcoBrokerageModel uses the SecurityMarginModel. If you have a margin account, the SamcoBrokerageModel allows up to 5x leverage.
SamcoBrokerageModel
SecurityMarginModel


POST/oauth/access_token
Access:
Return:
XML
-
access_token, refresh_token, expires_in
Parameters:
- grant_type:string - Required. Either "user_basic" or "refresh_token"
- client_id: string - Required. Client identification
- login:string - required for grant_type "user_basic". The user's login/username
- password:string - required for grant_type "user_basic". The user's password
Description:
Allows a consumer application to request an OAuth Access Token by
providing its client_id along with a grant_type and associated parameters.
This method fulfills Section 4 of the OAuth 2.0 Protocol


Auctions Gallery
Find best offers here
#{auction.title}
by #{auction.ownerId.userName}
Bids: #{auction.userBatchBidList.size()}
Highest: $#{auction.highestBid}