API Proxy Registration
Summary
Register and manage frontend API proxies
Description
Manage and configure frontend API proxy services using this API. This API manages VirtualizedAPI, that is a virtual service that proxies backend API service(s). The API backend services are created and managed using the API Repository. The VirtualizedAPI provides all of the configuration necessary to protect the backend services, authorize clients, and secure frontend and backend using SSL. The proxy is comprised of individual backend API methods in the form of VirtualizedAPIMethod.
The frontend API proxy are created by Organization Administrators in organizations that have API development enabled. Only an API administrator can enable API development.
This API also manages the lifecycle of the frontend API. The API starts its lifecycle as unpublished, which restricts use of the API to members of the API development organization. While the API is unpublished, the frontend and backend API may be modified, methods added/removed, and parameters added/removed as necessary - changes will be reflected in the frontend. While the API is unpublished, it cannot be assigned to other organizations. When the API is complete and ready to be used, the API developer can request that the API be published. This moves the API to a pending state until the API administrator decides to publish the API. When the API is published, the API is read-only, however, the API documentation may still be edited by the API Developer, or by an API administrator.
Resources
GET /api/portal/v1.3/proxies
Summary
Queries a list of frontend API.
Description
Returns a list of API that are visible to the authenticated user. The list of API can be filtered using the expression: field=__field__&op=__op__&value=__value__. Optionally, you can add a logical operation for all expressions, using the form: &lop=AND|OR. By default, the logical operation is AND. Multiple expression filters can be used, specifying field, op, and value for each filter. The field is one of:
- name
- The name of the API
- apiid
- Matches the API if the API is virtualized from the specified backend API
- createdOn
- The date the user was created on, time in ms, e.g.: 1372755998542
- deprecated
- The deprecated state of the API, one of: true or false
- retired
- The retired state of the API, one of: true or false
- state
- The API's state, one of: unpublished, pending, or published
The op is an operation and is one of:
- eq
- Equal
- ne
- Not equal
- gt
- Greater than
- lt
- Less than
- ge
- Greater than or equal
- le
- Less than or equal
- like
- Like
- gete
- Greater than or equal to, and less than or equal to; the value should be a lower-minimum and upper-maximum separated by comma, e.g: value=5,10
The value will be compared against the field, according to the supplied op.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
field |
Filter field name. | String | query | Multiple | |
op |
Filter operation. | String | query | Multiple | |
value |
Filter value | String / Integer | query | Multiple |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Array
[ VirtualizedAPI ]
POST /api/portal/v1.3/proxies
Summary
Creates a new API proxy from a backend API.
Description
The VirtualizedAPI apiId is required. If creating the APIas an API administrator, the VirtualizedAPI organizationId must also be specified.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
- |
The frontend API to create. | VirtualizedAPI | body | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
Example
POST https://localhost:8075/api/portal/v1.3/proxies
Request
{"apiId": "9064396e-7743-4644-a0b7-d30b421e2b30", "organizationId": "b6889722b7-222-b06f-2eaaf1548898"}Response
HTTP 1.1 201 Created{
"id" : "bacb827e-e555-43fa-b006-50c7404aa990",
"organizationId" : "b6889722b7-222-b06f-2eaaf1548898",
"apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
"name" : "My virtualized API",
"version" : "1.0",
"vhost" : "host.company.com",
"path" : "/flikr",
"descriptionType" : "manual",
"descriptionManual" : "My API\n====\n\nThis is my API.",
"descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/flickr/flickr.md",
"descriptionUrl" : "http://doc.api.org/myapi/mymethod#anchor",
"summary" : "My API\n====\n\nThis is my API.",
"retired" : false,
"expired" : false,
"image" : "resources/photo.jpg",
"retirementDate" : 1364287486876,
"deprecated" : true,
"state" : "unpublished",
"createdOn" : 1364287486876,
"createdBy" : "de077cd8-83b7-46d1-b06f-2eaaf1548898",
"corsProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"origins" : [ "http://api.google.com", "http://api.flickr.com" ],
"allowedHeaders" : [ "X-Request-Value", "X-Hello-World" ],
"exposedHeaders" : [ "X-Trace", "X-CorrelationID" ],
"supportCredentials" : false,
"maxAgeSeconds" : 84600
} ],
"securityProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"devices" : [ {
"name" : "My Pass-through Device",
"type" : "apiKey",
"order" : 1,
"properties" : {
"apiKeyFieldName" : "APIKey",
"takeFrom" : "HEADER"
}
} ]
} ],
"authenticationProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"parameters" : {
"apiKey" : "e7812c14-b67a-4eef-84a1-e18c0d8436ba",
"apiKeyField" : "KeyId",
"httpLocation" : "query"
},
"type" : "apikey"
} ],
"inboundProfiles" : {
"_default" : {
"securityProfile" : "Default Inbound Security",
"corsProfile" : "Default CORS profile",
"monitorAPI" : true,
"monitorSubject" : "authentication.subject.id"
}
},
"outboundProfiles" : {
"_default" : {
"authenticationProfile" : "My Backend",
"routeType" : "proxy",
"requestPolicy" : null,
"responsePolicy" : null,
"routePolicy" : null,
"apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
"apiMethodId" : "7fd18d9a-1258-4031-a168-d7f6bf612dc1",
"parameters" : [ {
"name" : "id",
"paramType" : "query",
"type" : "string",
"value" : "${params.path.id}",
"required" : true,
"exclude" : false,
"additional" : false
} ]
}
},
"serviceProfiles" : {
"_default" : {
"apiId" : "96f745ae-a41a-41a9-aad8-8bf24b5cc27e",
"basePath" : "http://backend.io"
}
},
"caCerts" : [ {
"certBlob" : "YmxvYg==",
"name" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"alias" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"subject" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"issuer" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"version" : 3,
"notValidBefore" : 1364287486876,
"notValidAfter" : 1364287486876,
"signatureAlgorithm" : "RSA (2048 bits)",
"sha1Fingerprint" : "BC:5C:0D:3E:47:58:DF:E8:42:A4:D2:34:C5:D4:97:14:DA:54:F4:CD",
"md5Fingerprint" : "89:DD:C1:6C:C0:6E:1D:B1:75:0C:48:E5:E6:AC:76:B0",
"expired" : true,
"notYetValid" : false,
"inbound" : false,
"outbound" : true
} ],
"tags" : {
"Type" : [ "REST" ],
"Category" : [ "Social Network, Photos" ]
}
}
POST /api/portal/v1.3/proxies/export
Summary
Creates an API export.
Description
Creates an export for use in promoting the API to a new environment. The export contains the frontend VirtualizedAPI, their settings, and all backend APIDefinition that are required for the frontend API. If password is supplied, the exported file will be encrypted with the password. If successful, returns 201 Created, and the HTTP Location header contain the of the URL of the export. The export is temporary, and may only be downloaded once.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier(s) to export. | String | form | Required | Multiple |
password |
Encrypts the list of API using the password. | String | form | Required | |
filename |
Optional filename to use in response. | String | form | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
Return Value
application/octet-stream
GET /api/portal/v1.3/proxies/export/{id}
Summary
Downloads an API export.
Description
The API export is produced from /exportApis. If filename is supplied, the download will use it as the Content-Disposition filename attachment.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The export identifier. | String | path | Required | |
filename |
The export will be downloaded using a Content-Dispostion using the supplied filename | String | query | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
POST /api/portal/v1.3/proxies/grantaccess
Summary
Macro function to grant API access.
Description
Function to macro-apply access to selected API. The access can be granted to organizations or entities having access to specified API. If action is all_orgs, access will be granted to all organizations; if action is orgs, access will be granted to the organization(s) specified by grantOrganizations; if action is orgs_with_apis, access will be granted to the organizations with access to the apis specified by grantApis.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
action |
Grant action to perform. Possible values are: all_orgs, orgs, and orgs_with_apis. | String | form | Required | |
apiId |
List of API ID to which access will be granted. | String | form | Required | |
grantOrgId |
List of target organization ID to which access to apiId will be granted (action is orgs) | String | form | Required | Multiple |
grantApiId |
List of API ID to which access to to apiId will be granted (action is orgs_with_apis). | String | form | Required | Multiple |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 204 | No Content |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
POST /api/portal/v1.3/proxies/import
Summary
Imports a previously exported API.
Description
Imports API, previously exported using /exportApis. If the API was exported using a password, then the file is encrypted, and a password argument must be provided to decrypt. The import will create VirtualizedAPI, their settings, and all backend APIDefinition necessary to support the frontend API. This method is similar to /importFromUrl, save that this method supports traditional form-based file upload, using multipart/form-data.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
organizationId |
The organization identifier. | String | form | Required | |
password |
Optional password to decrypt the import file. | String | form | Required | |
file |
The data file to import. | File | form | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
POST /api/portal/v1.3/proxies/importFromUrl
Summary
Imports a previously exported API.
Description
Imports API, previously exported using /exportApis. If the API was exported using a password, then the file is encrypted, and a password argument must be provided to decrypt. The import will create VirtualizedAPI, their settings, and all backend APIDefinition necessary to support the frontend API. The url should be a data URI scheme.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
organizationId |
The organization identifier. | String | form | Required | |
url |
The data URI. | String | form | Required | |
password |
Optional password to decrypt the import file. | String | form | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
POST /api/portal/v1.3/proxies/promote
Summary
Invokes the internal API promotion policy for the specified API.
Description
In API Manager, API promotion must first be enabled in Settings. Also, in Policy Studio (Server Settings -> API Manager -> API Promotion) a promotion policy must be selected. By default a sample promotion policy is installed
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
apiId |
The frontend API identifier(s) to promote | String | form | Required | Multiple |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 204 | No Content |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
POST /api/portal/v1.3/proxies/upgrade/{id}
Summary
Upgrades an existing API to a newer API.
Description
During an API lifecycle, it is necessary to upgrade users to use a newer API. The idea being that the old API should be phased-out, and developers should move their applications to use the newer API. This method will assign upgradeApiId, the same API access to all organizations and applications that already have access to the API specified by id. Optionally, the old API may be deprecated or retired using deprecate, retire, or scheduled to be retired using retirementDate.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
String | path | Required | ||
upgradeApiId |
The id of the backend API which will be used to upgrade this virtualized API | String | form | Required | |
deprecate |
Specifies whether or not the API being upgraded should be depreated | boolean | form | Required | |
retire |
Specifies whether or not the API being upgraded should be retired | boolean | form | Required | |
retirementDate |
Specifies the retirement date of the the API being upgraded if its being retired | String | form | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 204 | No Content |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
GET /api/portal/v1.3/proxies/{id}
Summary
Gets a frontend API by ID.
Description
none
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
DELETE /api/portal/v1.3/proxies/{id}
Summary
Deletes an API proxy.
Description
Deletes an API proxy, removing all API access in the process.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 204 | No Content |
| 403 | Forbidden |
| 500 | Internal Server Error |
PUT /api/portal/v1.3/proxies/{id}
Summary
Updates an API proxy.
Description
none
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
- |
The virtualized API to update | VirtualizedAPI | body | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
Example
PUT https://localhost:8075/api/portal/v1.3/proxies/{id}
Request
{
"id" : "bacb827e-e555-43fa-b006-50c7404aa990",
"organizationId" : "b6889722b7-222-b06f-2eaaf1548898",
"apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
"name" : "My virtualized API",
"version" : "1.0",
"vhost" : "host.company.com",
"path" : "/flikr",
"descriptionType" : "manual",
"descriptionManual" : "My API\n====\n\nThis is my API.",
"descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/flickr/flickr.md",
"descriptionUrl" : "http://doc.api.org/myapi/mymethod#anchor",
"summary" : "My API\n====\n\nThis is my API.",
"retired" : false,
"expired" : false,
"image" : "resources/photo.jpg",
"retirementDate" : 1364287486876,
"deprecated" : true,
"state" : "unpublished",
"createdOn" : 1364287486876,
"createdBy" : "de077cd8-83b7-46d1-b06f-2eaaf1548898",
"corsProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"origins" : [ "http://api.google.com", "http://api.flickr.com" ],
"allowedHeaders" : [ "X-Request-Value", "X-Hello-World" ],
"exposedHeaders" : [ "X-Trace", "X-CorrelationID" ],
"supportCredentials" : false,
"maxAgeSeconds" : 84600
} ],
"securityProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"devices" : [ {
"name" : "My Pass-through Device",
"type" : "apiKey",
"order" : 1,
"properties" : {
"apiKeyFieldName" : "APIKey",
"takeFrom" : "HEADER"
}
} ]
} ],
"authenticationProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"parameters" : {
"apiKey" : "e7812c14-b67a-4eef-84a1-e18c0d8436ba",
"apiKeyField" : "KeyId",
"httpLocation" : "query"
},
"type" : "apikey"
} ],
"inboundProfiles" : {
"_default" : {
"securityProfile" : "Default Inbound Security",
"corsProfile" : "Default CORS profile",
"monitorAPI" : true,
"monitorSubject" : "authentication.subject.id"
}
},
"outboundProfiles" : {
"_default" : {
"authenticationProfile" : "My Backend",
"routeType" : "proxy",
"requestPolicy" : null,
"responsePolicy" : null,
"routePolicy" : null,
"apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
"apiMethodId" : "7fd18d9a-1258-4031-a168-d7f6bf612dc1",
"parameters" : [ {
"name" : "id",
"paramType" : "query",
"type" : "string",
"value" : "${params.path.id}",
"required" : true,
"exclude" : false,
"additional" : false
} ]
}
},
"serviceProfiles" : {
"_default" : {
"apiId" : "96f745ae-a41a-41a9-aad8-8bf24b5cc27e",
"basePath" : "http://backend.io"
}
},
"caCerts" : [ {
"certBlob" : "YmxvYg==",
"name" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"alias" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"subject" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"issuer" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"version" : 3,
"notValidBefore" : 1364287486876,
"notValidAfter" : 1364287486876,
"signatureAlgorithm" : "RSA (2048 bits)",
"sha1Fingerprint" : "BC:5C:0D:3E:47:58:DF:E8:42:A4:D2:34:C5:D4:97:14:DA:54:F4:CD",
"md5Fingerprint" : "89:DD:C1:6C:C0:6E:1D:B1:75:0C:48:E5:E6:AC:76:B0",
"expired" : true,
"notYetValid" : false,
"inbound" : false,
"outbound" : true
} ],
"tags" : {
"Type" : [ "REST" ],
"Category" : [ "Social Network, Photos" ]
}
}Response
HTTP 1.1 200 OK{
"id" : "bacb827e-e555-43fa-b006-50c7404aa990",
"organizationId" : "b6889722b7-222-b06f-2eaaf1548898",
"apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
"name" : "My virtualized API",
"version" : "1.0",
"vhost" : "host.company.com",
"path" : "/flikr",
"descriptionType" : "manual",
"descriptionManual" : "My API\n====\n\nThis is my API.",
"descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/flickr/flickr.md",
"descriptionUrl" : "http://doc.api.org/myapi/mymethod#anchor",
"summary" : "My API\n====\n\nThis is my API.",
"retired" : false,
"expired" : false,
"image" : "resources/photo.jpg",
"retirementDate" : 1364287486876,
"deprecated" : true,
"state" : "unpublished",
"createdOn" : 1364287486876,
"createdBy" : "de077cd8-83b7-46d1-b06f-2eaaf1548898",
"corsProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"origins" : [ "http://api.google.com", "http://api.flickr.com" ],
"allowedHeaders" : [ "X-Request-Value", "X-Hello-World" ],
"exposedHeaders" : [ "X-Trace", "X-CorrelationID" ],
"supportCredentials" : false,
"maxAgeSeconds" : 84600
} ],
"securityProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"devices" : [ {
"name" : "My Pass-through Device",
"type" : "apiKey",
"order" : 1,
"properties" : {
"apiKeyFieldName" : "APIKey",
"takeFrom" : "HEADER"
}
} ]
} ],
"authenticationProfiles" : [ {
"name" : "Default Security Profile",
"isDefault" : false,
"parameters" : {
"apiKey" : "e7812c14-b67a-4eef-84a1-e18c0d8436ba",
"apiKeyField" : "KeyId",
"httpLocation" : "query"
},
"type" : "apikey"
} ],
"inboundProfiles" : {
"_default" : {
"securityProfile" : "Default Inbound Security",
"corsProfile" : "Default CORS profile",
"monitorAPI" : true,
"monitorSubject" : "authentication.subject.id"
}
},
"outboundProfiles" : {
"_default" : {
"authenticationProfile" : "My Backend",
"routeType" : "proxy",
"requestPolicy" : null,
"responsePolicy" : null,
"routePolicy" : null,
"apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
"apiMethodId" : "7fd18d9a-1258-4031-a168-d7f6bf612dc1",
"parameters" : [ {
"name" : "id",
"paramType" : "query",
"type" : "string",
"value" : "${params.path.id}",
"required" : true,
"exclude" : false,
"additional" : false
} ]
}
},
"serviceProfiles" : {
"_default" : {
"apiId" : "96f745ae-a41a-41a9-aad8-8bf24b5cc27e",
"basePath" : "http://backend.io"
}
},
"caCerts" : [ {
"certBlob" : "YmxvYg==",
"name" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"alias" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"subject" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"issuer" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
"version" : 3,
"notValidBefore" : 1364287486876,
"notValidAfter" : 1364287486876,
"signatureAlgorithm" : "RSA (2048 bits)",
"sha1Fingerprint" : "BC:5C:0D:3E:47:58:DF:E8:42:A4:D2:34:C5:D4:97:14:DA:54:F4:CD",
"md5Fingerprint" : "89:DD:C1:6C:C0:6E:1D:B1:75:0C:48:E5:E6:AC:76:B0",
"expired" : true,
"notYetValid" : false,
"inbound" : false,
"outbound" : true
} ],
"tags" : {
"Type" : [ "REST" ],
"Category" : [ "Social Network, Photos" ]
}
}
POST /api/portal/v1.3/proxies/{id}/deprecate
Summary
Deprecates the API.
Description
Only an API Administrator may deprecate an API, and only published API may be deprecated. When an API is deprecated, the API can still be used, but users will be informed that the API has been deprecated. Optionally, a retirementDate may be set which will schedule the API to be automatically retired and removed from use. If specified, the retirementDate should be in ISO-8601 format (e.g. 2015-01-01T12:00:00Z).
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
retirementDate |
Optional API retirement date specified in ISO-8601 format. Set to the past to retire immediately. | String | form |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
GET /api/portal/v1.3/proxies/{id}/image/
Summary
Gets the image for the API.
Description
Returns the jpeg image associated with the API.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 403 | Forbidden |
| 500 | Internal Server Error |
POST /api/portal/v1.3/proxies/{id}/image/
Summary
Set the image for the frontend API.
Description
Set the jpeg image to be associated with the API.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
file |
File | form | |||
type |
String | query |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 204 | No Content |
| 400 | Bad Request |
| 413 | Request Entity Too Large |
| 500 | Internal Server Error |
GET /api/portal/v1.3/proxies/{id}/operations
Summary
Gets a list of methods that are avilable to the API proxy.
Description
none
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Array
PUT /api/portal/v1.3/proxies/{id}/operations/{operationId}
Summary
Updates an API proxy operation.
Description
none
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
operationId |
The frontend API method identifier. | String | path | Required | |
- |
The method to update. | VirtualizedAPIMethod | body | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
Example
PUT https://localhost:8075/api/portal/v1.3/proxies/{id}/operations/{operationId}
Request
{
"id" : "f2a0d13a-51f3-4256-855e-2b1d838a5cd2",
"virtualizedApiId" : "bacb827e-e555-43fa-b006-50c7404aa990",
"name" : "MyMethod",
"apiId" : "ec5e0a01-832b-4ecb-8cae-b35630527bb4",
"apiMethodId" : "21490aa6-ed14-4059-b8b7-d5bf0dc22dc6",
"summary" : "This is a summary of my API Method",
"descriptionType" : "original",
"descriptionManual" : "This is _my_ API method",
"descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/myapi/method.md",
"descriptionUrl" : "https://myapi.org/docs/api#method",
"tags" : {
"Category" : [ "Social Network, Photos" ],
"Type" : [ "REST" ]
}
}Response
HTTP 1.1 200 OK{
"id" : "f2a0d13a-51f3-4256-855e-2b1d838a5cd2",
"virtualizedApiId" : "bacb827e-e555-43fa-b006-50c7404aa990",
"name" : "MyMethod",
"apiId" : "ec5e0a01-832b-4ecb-8cae-b35630527bb4",
"apiMethodId" : "21490aa6-ed14-4059-b8b7-d5bf0dc22dc6",
"summary" : "This is a summary of my API Method",
"descriptionType" : "original",
"descriptionManual" : "This is _my_ API method",
"descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/myapi/method.md",
"descriptionUrl" : "https://myapi.org/docs/api#method",
"tags" : {
"Category" : [ "Social Network, Photos" ],
"Type" : [ "REST" ]
}
}
GET /api/portal/v1.3/proxies/{id}/operations/{operationId}
Summary
Gets an API method by ID.
Description
none
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
operationId |
The frontend API method identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 200 | OK |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
DELETE /api/portal/v1.3/proxies/{id}/operations/{operationId}
Summary
Deletes an API method by ID.
Description
none
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
operationId |
The frontend API method identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 204 | No Content |
| 403 | Forbidden |
| 500 | Internal Server Error |
POST /api/portal/v1.3/proxies/{id}/publish
Summary
Publish the API.
Description
If called by an API Administrator, then the API state will be published, otherwise the API state will be pending, and an email notification will be sent to the API Administrators, notifying them of the event. Optionally, on publishing, a new name for the API may be specified. Similarly, an optional vhost may be specified. The vhost is an externally resolvable virtual host from which the API will be accessed.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required | |
name |
The name on which to publish this API. | String | form | Required | |
vhost |
The optional virtual host on which to publish this API. | String | form | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
POST /api/portal/v1.3/proxies/{id}/undeprecate
Summary
Undeprecates the API.
Description
Only an API Administrator may undeprecate an API, and only published API, that are deprecated, may be undeprecated.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |
Returns Class
POST /api/portal/v1.3/proxies/{id}/unpublish
Summary
Unpublish the API.
Description
Only an API Administrator may unpublish an API. When an API is unpublished, all access to the API is revoked from all applications, and all organizations, save the API development organization that owns the API.
Parameters
| Parameter | Description | Data Type | Location | Required | Multiple |
|---|---|---|---|---|---|
id |
The frontend API identifier. | String | path | Required |
Status Codes
| HTTP Status Code | Reason |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 403 | Forbidden |
| 500 | Internal Server Error |