PAPI Swagger File 4.2.7

Download this sample Swagger JSON file describing the current Portal API from 
apip42
Download this sample Swagger JSON file describing the current Portal API from swagger-papi-427.json
For more information about the Swagger (OpenAPI) specification, see the Swagger website.
{ "swagger": "2.0", "info": { "version": "", "title": "" }, "host": "PAPI_Portal_TSSG:9443", "basePath": "/TENANT_API_NAME", "schemes": [ "https" ], "consumes": [], "produces": [ "application/json;charset=UTF-8" ], "paths": { "/AccountPlans": { "get": { "tags": [ "AccountPlans" ], "summary": "Returns a list of all Account Plans.", "operationId": "getAccountPlans", "description": "Returns a list of all Account Plans.\n\nAll organizations should have an account plan. You can use an account plan to give organizations access to private APIs in addition to all the public APIs. You can also use an account plan to limit the number of times an organization's applications can hit your APIs per proxy. An organization cannot exceed the limits regardless of how the hits are divided among the organization's applications and your APIs per proxy. An account plan can have a quota, a rate limit, both, or neither. The quota specifies the maximum number of hits per day or month per proxy. The rate limit specifies the maximum number of hits per second. For example, a basic account plan could limit an organization to 1,000 hits per day per proxy and one hit per second. A premium account plan could have unlimited hits per day per proxy and 100 hits per second.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "An array containing all the Account Plans within the system.", "schema": { "$ref": "#/definitions/AccountPlans" }, "examples": { "application/json": [ { "Uuid": "00000001-9362-11e3-b742-000drahcir00", "RateLimit": 1, "Description": "The Bronze plan is the default Account Plan automatically assigned by the system to all new organizations. This plan imposes restrictive quotas and rate limits.", "DefaultPlan": true, "Name": "Bronze Account Plan", "OrganizationUsage": "0", "Quota": 100, "QuotaInterval": "DAY", "ApiIds": { "results": [] } }, { "Uuid": "3df56119-506b-46b0-9ba7-0287fc7576c8", "RateLimit": 100, "Description": "", "DefaultPlan": false, "Name": "Diamond Plan", "OrganizationUsage": "0", "Quota": 100, "QuotaInterval": "DAY", "ApiIds": { "results": [ "e82a748e-b9ee-4717-ac90-dd211c4b1de2" ] } }, { "Uuid": "71ec8a37-9362-11e3-b742-000c2911a4db", "RateLimit": null, "Description": "This is a sample plan that you can use to assigned to internal developers and other employees. This plan imposes no quotas or rate limits.", "DefaultPlan": false, "Name": "Internal Plan", "OrganizationUsage": "1", "Quota": null, "QuotaInterval": null, "ApiIds": { "results": [ "3aa68269-3a8c-4567-9e0f-3e9fa3368553", "b0ca4200-bee0-4264-a41c-e2a8b2d81d84" ] } } ] } } } }, "post": { "tags": [ "AccountPlans" ], "summary": "Create an Account Plan", "operationId": "createAccountPlan", "description": "Create a new Account Plan that API publishers can use to control which APIs an organization's developers and applications can access, as well as the usage. Enter a unique name and a public description for the plan. Quota information and rate limit are optional and are applied per proxy.", "produces": [ "text/plain;charset=UTF-8" ], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an Account Plan.", "required": true, "schema": { "$ref": "#/definitions/AccountPlanPost" } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/AccountPlanFull" }, "examples": { "application/json": { "Uuid": "{{GENERATED_GUID}}", "Name": "Silver Account Plan", "Description": "This is a Silver Account Plan", "RateLimit": 200, "Quota": 200, "QuotaInterval": "DAY", "ApiIds": { "results": [ "f28714f9-a0c9-49e7-a6e3-6f20726e69fa" ] } } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/AccountPlans('{uuid}')": { "get": { "tags": [ "AccountPlans" ], "summary": "Returns a specific Account Plan.", "operationId": "getAccountPlan", "description": "Returns a specific Account Plan.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the Account Plan to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "The Account Plan found with the UUID specified.", "schema": { "$ref": "#/definitions/AccountPlanFull" }, "examples": { "application/json": { "Uuid": "3df56119-506b-46b0-9ba7-0287fc7576c8", "RateLimit": 100, "Description": "", "DefaultPlan": false, "Name": "Diamond Plan", "OrganizationUsage": "0", "Quota": 100, "QuotaInterval": "DAY", "ApiIds": { "results": [ "e82a748e-b9ee-4717-ac90-dd211c4b1de2" ] } } } }, "404": { "$ref": "#/responses/NotFound" } } }, "delete": { "tags": [ "AccountPlans" ], "summary": "Delete an existing account plan", "description": "Delete an existing account plan. If the account plan is used by an organization then it cannot be deleted.", "operationId": "deleteAccountPlan", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The UUID of the account plan to be deleted.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "put": { "tags": [ "AccountPlans" ], "summary": "Update a specific Account Plan.", "operationId": "updateAccountPlan", "description": "Update a specific Account Plan.", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "text/plain;charset=UTF-8" ], "parameters": [ { "name": "uuid", "description": "The Uuid of the Account Plan to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to update an Account Plan.", "required": true, "schema": { "$ref": "#/definitions/AccountPlanPut" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/ApiEulas": { "get": { "tags": [ "ApiEulas" ], "summary": "List all End-User Licence Agreements that can be applied to APIs.", "operationId": "getApiEulas", "description": "List all End-User Licence Agreements that can be applied to APIs. In the API Portal, when Organization Administrators add an API to their organization, they must agree to the EULA. All APIs published on the API Portal need an API EULA. So, before Administrators can add an API, an Administrator or API Owner must add a EULA to the API Portal. If the API Portal does not have the correct API EULA, an Administrator or API Owner must add the EULA. Alternatively, they can edit an API EULA that is not assigned to an API that is associated with an organization.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiEulas" }, "examples": { "application/json": [ { "Uuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "Name": "Standard EULA", "ApiUsage": "2", "ApplicationUsage": "2", "Content": "<span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad\n minim veniam, quis nostrud exercitation ullamco laboris nisi ut\n aliquip ex ea commodo consequat. Duis aute irure dolor in\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\n pariatur. Excepteur sint occaecat cupidatat non proident, sunt in\n culpa qui officia deserunt mollit anim id est laborum.</span>", "PossibleActions": { "results": [] } }, { "Uuid": "18cde0ac-0fde-4737-816a-8bb6420a1860", "Name": "My new EULA", "ApiUsage": "0", "ApplicationUsage": "0", "Content": "<span>Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae\n ab illo inventore veritatis et quasi architecto beatae vitae dicta\n sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit\n aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos\n qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui\n dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed\n quia non numquam eius modi tempora incidunt ut labore et dolore magnam\n aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex\n ea commodi consequatur?</span>", "PossibleActions": { "results": [ "DELETE", "EDIT" ] } } ] } } } }, "post": { "tags": [ "ApiEulas" ], "summary": "Create an API Eula", "operationId": "createApiEula", "description": "Create a specific End-User Licence Agreement that can be applied to APIs.", "produces": [], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an API EULA.", "required": true, "schema": { "type": "object", "description": "Request", "example": { "Name": "Test Eula", "Content": "Test Eula", "Uuid": "{{GENERATED_GUID}}" } } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/ApiEulas" }, "examples": { "application/json": { "Name": "Api Eula Name", "Content": "Your API Eula content. Can be HTML but will be XSS protected causing a 400 bad request error.", "Uuid": "{{GENERATED_GUID}}" } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/ApiEulas('{uuid}')": { "get": { "tags": [ "ApiEulas" ], "summary": "Get a specific End-User Licence Agreement that can be applied to APIs.", "operationId": "getApiEula", "description": "Get a specific End-User Licence Agreement that can be applied to APIs.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the End-User Licence Agreement to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiEula" }, "examples": { "application/json": { "Uuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "Name": "Standard EULA", "ApiUsage": "2", "ApplicationUsage": "2", "Content": "<span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad\n minim veniam, quis nostrud exercitation ullamco laboris nisi ut\n aliquip ex ea commodo consequat. Duis aute irure dolor in\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\n pariatur. Excepteur sint occaecat cupidatat non proident, sunt in\n culpa qui officia deserunt mollit anim id est laborum.</span>", "PossibleActions": { "results": [ "DELETE", "EDIT" ] } } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "ApiEulas" ], "summary": "Update an existing API EULA.", "description": "Update an existing API EULA.", "operationId": "updateApiEulas", "produces": [ "text/plain;charset=UTF-8" ], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "uuid", "description": "The Uuid of the API EULA to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Update an existing API EULA.", "required": true, "schema": { "$ref": "#/definitions/ApiEulaPut" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "delete": { "tags": [ "ApiEulas" ], "summary": "Delete an existing API EULA", "description": "Delete an existing API EULA. If API EULA is used by an API then it cannot be deleted.", "operationId": "deleteApiEulas", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API EULA to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/api-groups": { "get": { "tags": [ "ApiGroups" ], "summary": "Return list of API Groups", "operationId": "getApiGroups", "description": "List of API Groups.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiGroups" }, "examples": { "application/json": [ { "uuid": "a689fa99-1402-4634-93ac-98b730c79b83", "name": "group1", "status": "ENABLED", "description": "testing description" }, { "uuid": "2bd6fcae-c490-43dd-a2fc-c77645497402", "name": "group2", "status": "ENABLED", "description": "testing description" } ] } } } }, "post": { "tags": [ "ApiGroups" ], "summary": "Create an API Group", "operationId": "createApiGroup", "description": "Create an API Group.", "produces": [], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an API Group.", "required": true, "schema": { "type": "object", "description": "Request", "example": { "name": "test name", "status": "ENABLED", "description": "testing description" } } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/ApiGroup" }, "examples": { "application/json": { "name": "test name", "status": "ENABLED", "description": "testing description" } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/api-groups/{uuid}": { "get": { "tags": [ "ApiGroups" ], "summary": "Return a Single API Group", "operationId": "getApiGroup", "description": "Returns the API Group with the specified UUID.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API Group to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiGroup" }, "examples": { "application/json": { "uuid": "ae7af4e7-11a7-4691-8b84-be60e304e304", "name": "test", "status": "ENABLED", "description": "testing description" } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "ApiGroups" ], "summary": "Update an existing API Group.", "description": "Updates the group with the specified UUID. All mandatory group attributes (eg. name, status, etc) are required in the payload. If an optional group attribute (eg. description) was set on the group, but it is not provided in the payload, then it will be reset to empty.", "operationId": "updateApiGroup", "produces": [ "text/plain;charset=UTF-8" ], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "uuid", "description": "The Uuid of the API Group to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Update an existing API Group.", "required": true, "schema": { "$ref": "#/definitions/ApiGroupPut" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "delete": { "tags": [ "ApiGroups" ], "summary": "Delete an existing API Group", "description": "Delete an existing API Group. If API Group is used by an Application then it cannot be deleted.", "operationId": "deleteApiGroup", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API Group to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/api-groups/{uuid}/apis": { "get": { "tags": [ "ApiGroups" ], "summary": "Returns APIs of an API Group", "operationId": "getApiGroupApiMapping", "description": "Returns a list of API references which have been associated with the specified API Group.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The UUID of the API Group associated with the APIs to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiGroupApis" }, "examples": { "application/json": [ { "uuid": "bb071bc2-5e59-4f86-85d1-2e4851603adc" }, { "uuid": "2bd6fcae-c490-43dd-a2fc-c77645497402" } ] } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "ApiGroups" ], "summary": "Associate APIs with the specified API Group.", "description": "Associate APIs with the specified API Group. The previous API associations will be removed if not present in payload.", "operationId": "updateApiGroupApiMapping", "produces": [ "text/plain;charset=UTF-8" ], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "uuid", "description": "The UUID of the API Group to associate the provided APIs with.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "List of API references to associate with the specified API Group.", "required": true, "schema": { "$ref": "#/definitions/ApiGroupApis" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/apis": { "get": { "tags": [ "Apis" ], "summary": "List all APIs in the system.", "operationId": "getApis1.0", "description": "List all APIs in the system. You can add your API with additional data such as Version, API End-User License Agreement, Visibility (Public or Private). You can also set-up your Proxy Configuration using Proxy URL, Location of API and Policy Entities. You can add multiple Policy Entities which may have multiple Policy Template Arguments. Lastly, you can set-up your API Metadata by using a descriptor file and uploading it, by setting the Authentication (None, Api Key or OAuth2) and adding a Public and/or Private Description.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApisGet" }, "examples": { "application/json": { "totalPages": 1, "pageSize": 20, "currentPage": 1, "totalElements": 8, "result": [ { "uuid": "8c26150c-5ca4-4e9d-8d57-ebdedb1cd115", "name": "api1 name", "description": "api1 sample description", "portalStatus": "ENABLED", "accessStatus": "PUBLIC", "specFilename": "my_spec.json", "orgUuid": "e127b982-472a-11e8-842f-0ed5f89f718b", "apiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8" } ], "_links": { "self": { "href": "/api-management/1.0/apis?page=0&size=20" } } } } }, "400": { "$ref": "#/responses/InvalidParameters" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/apis/{uuid}": { "get": { "tags": [ "Apis" ], "summary": "Returns a single API.", "operationId": "getApi1.0", "description": "Returns a single API with the specified UUID.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiGet" }, "examples": { "application/json": { "uuid": "8c26150c-5ca4-4e9d-8d57-ebdedb1cd115", "name": "my api", "portalStatus": "ENABLED", "accessStatus": "PUBLIC", "publishedByPortal": false, "description": "sample public description", "privateDescription": "sample private description", "apiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "version": 2, "ssgUrl": "ca", "specFilename": "url", "specFilesize": null, "locationUrl": "ca.com", "authenticationType": "NONE", "authenticationParameter": {}, "orgUuid": "79fa6b9b-18ad-4b29-8694-78a0237e9545", "createTs": 1524775123511, "modifyTs": 1524786901289, "customFieldValues": [ { "uuid": "a0c38c63-dd82-41b2-987c-3cc2a063fea5", "customFieldUuid": "6d0a1735-3821-4516-a8ad-aa6961d882ae", "value": "Sample custom field description." } ], "policyEntities": [ { "policyEntityUuid": "cc9a43a5-d67c-4e86-81c4-f0ca58b93a1b", "policyTemplateArguments": [ { "name": "smtpServer", "value": "ca.com" }, { "name": "sslEnabled", "value": true }, { "name": "sla", "value": 200 }, { "name": "email", "value": "admin@test.com" } ] } ], "possibleStatuses": { "results": [ "DISABLED", "DEPRECATED" ] }, "_links": { "self": { "href": "/api-management/1.0/apis/8c26150c-5ca4-4e9d-8d57-ebdedb1cd115" }, "apiUsage": { "href": "/api-management/1.0/apis/8c26150c-5ca4-4e9d-8d57-ebdedb1cd115/usage" } } } } }, "400": { "$ref": "#/responses/InvalidUuid" }, "404": { "$ref": "#/responses/NotFoundEntity" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/apis/{uuid}/usage": { "get": { "tags": [ "Apis" ], "summary": "Returns the usage of an Api", "operationId": "getApiUsage", "description": "Return the api group usage, direct and indirect application usage. If the api uuid does not exist, return 0 for all of the 3 usages.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/ApiUsage" }, "examples": { "application/json": { "apiGroupUsage": 1, "directAppUsage": 1, "indirectAppUsage": 1 } } }, "400": { "$ref": "#/responses/InvalidUuid" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/2.0/Apis": { "post": { "tags": [ "Apis" ], "summary": "Create Api", "operationId": "createApi2.0", "description": "Create Api. The required fields are:\n Name : must be unique\n Version\n ApiEulaUuid\n AccessStatus: Public or Private\n SsgUrl: only specifies end of URL, front part is determined by tenant SSG, must be unique, cannot start with ssg as this is a reserved word\n You can add multiple Policy Entities which may have multiple Policy Template Arguments. PolicyTemplateArguments: policy template must be provided/selected as well as any mandatory fields in that template.\n AuthenticationType: None, API Key (Api Key Type: Query, Header), OAuth 2 (Grant Type: AuthorizationCode[Authorization Endpoint, Token Endpoint], Implicit[Authorization Endpoint], Resource Owner Password Credentials, Client Credentials)\n ApiLocationUrl,\n Uuid.\n The optional fields are PrivateDescription, Description and [WADL/Swagger]. If there are Custom Fields that are required then they must be provided in the request. You can associate either a WADL or Swagger document by base64 encoding it and setting it as the SpecContent parameter. On creation, PortalStatus is always set to ENABLED. You cannot change the PortalStatus on creation.", "produces": [], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an Api.", "required": true, "schema": { "$ref": "#/definitions/Api2.0Basic" } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/Api2.0" }, "examples": { "application/json": { "Name": "apiName", "Version": "1", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "PrivateDescription": "", "AccessStatus": "PUBLIC", "Description": "", "SsgUrl": "ssgUrl", "PolicyEntities": { "results": [ { "PolicyEntityUuid": "cc9a43a5-d67c-4e86-81c4-f0ca58b93a1b", "PolicyTemplateArguments": { "results": [ { "Value": "2", "Name": "password", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "cc9a43a5-d67c-4e86-81c4-f0ca58b93a1b" }, { "Value": "2", "Name": "portalHostName", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "cc9a43a5-d67c-4e86-81c4-f0ca58b93a1b" }, { "Value": "2", "Name": "userName", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "cc9a43a5-d67c-4e86-81c4-f0ca58b93a1b" } ] } }, { "PolicyEntityUuid": "66728e8d-116b-4021-b74b-dfaabf2ed4f0", "PolicyTemplateArguments": { "results": [ { "Value": "false", "Name": "debugMode", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "66728e8d-116b-4021-b74b-dfaabf2ed4f0" }, { "Value": "apim.dev.ca.com", "Name": "portalHostName", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "66728e8d-116b-4021-b74b-dfaabf2ed4f0" }, { "Value": "false", "Name": "sslEnabled", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "66728e8d-116b-4021-b74b-dfaabf2ed4f0" }, { "Value": "72dc7738-a2b5-4ab5-9956-bfea85eccf95", "Name": "tenantUuid", "ApiUuid": "{{GENERATED_GUID}}", "PolicyTemplateUuid": "66728e8d-116b-4021-b74b-dfaabf2ed4f0" } ] } } ] }, "AuthenticationType": "NONE", "AuthenticationParameters": "{}", "ApiLocationUrl": "www.pssg.com", "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "Uuid": "{{GENERATED_GUID}}" } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/2.0/Apis('{uuid}')": { "put": { "tags": [ "Apis" ], "summary": "Update an existing Api.", "description": "Update an existing Api.", "operationId": "updateApi2.0", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the Api to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the Api object.", "required": true, "schema": { "$ref": "#/definitions/Api2.0Update" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "delete": { "tags": [ "Apis" ], "summary": "Delete an existing API", "description": "Delete an existing API. Both Portal and Gateway Published APIs that are disabled are deletable. APIs that are currently in use by applications cannot be deleted even if they are disabled.", "operationId": "deleteApi2.0", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Apis": { "get": { "tags": [ "Apis" ], "summary": "List all APIs in the system.", "operationId": "getApis", "description": "The 2.0 endpoint will be the new version to use and the old Apis endpoint will be deprecated. If you PUT or POST with the 2.0 endpoint, this endpoint will not function correctly and the response will be a 400. List all APIs in the system. You can add your API with additional data such as Version, API End-User License Agreement, Visibility (Public or Private). You can also set-up your Proxy Configuration using Proxy URL, Location of API and Policy Template. Lastly, you can set-up your API Metadata by using a descriptor file and uploading it, by setting the Authentication (None, Api Key or OAuth2) and adding a Public and/or Private Description", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/Apis" }, "examples": { "application/json": [ { "Uuid": "77091d13-8d5f-4cf3-81f0-4010b813bb48", "ApiLocationUrl": "api.example.com", "AuthenticationType": "NONE", "AuthenticationParameters": null, "SpecFilename": "my_spec.json", "ApplicationUsage": "2", "ServiceDisruption": "0", "InSync": "1", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PrivateDescription": "", "Version": "1", "Description": "", "PortalStatus": "ENABLED", "Name": "my api", "OrganizationUsage": "2", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "SsgUrl": "/my_api", "SsgServiceType": "REST", "AccessStatus": "PUBLIC", "Pending": "0", "PublishedByPortal": true, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "CustomFieldValues": { "results": [ { "CustomFieldUuid": "6d0a1735-3821-4516-a8ad-aa6961d882ae", "EntityUuid": "77091d13-8d5f-4cf3-81f0-4010b813bb48", "Uuid": "a0c38c63-dd82-41b2-987c-3cc2a063fea5", "Value": "one" } ] }, "PolicyTemplateArguments": { "results": [] }, "PossibleStatuses": { "results": [ "DISABLED", "DEPRECATED" ] } }, { "Uuid": "b7bb3b56-9e2f-4207-9618-3ca2b3c5fd2c", "ApiLocationUrl": null, "AuthenticationType": "NONE", "AuthenticationParameters": null, "SpecFilename": null, "ApplicationUsage": "0", "ServiceDisruption": "0", "InSync": "1", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PrivateDescription": "name_5511a8f1-f54e-4759-b0a9-b82a81302922", "Version": "1", "Description": "name_5511a8f1-f54e-4759-b0a9-b82a81302922", "PortalStatus": "ENABLED", "Name": "name_5511a8f1-f54e-4759-b0a9-b82a81302922", "OrganizationUsage": "0", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "SsgUrl": "uri_5511a8f1-f54e-4759-b0a9-b82a81302922", "SsgServiceType": "REST", "AccessStatus": "PUBLIC", "Pending": "0", "PublishedByPortal": true, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "CustomFieldValues": { "results": [] }, "PolicyTemplateArguments": { "results": [] }, "PossibleStatuses": { "results": [ "DISABLED", "DEPRECATED" ] } } ] } } } }, "post": { "tags": [ "Apis" ], "summary": "Create Api", "operationId": "createApi", "description": "Create Api. The required fields are:\n Name : must be unique\n Version\n ApiEulaUuid\n AccessStatus: Public or Private\n SsgUrl: only specifies end of URL, front part is determined by tenant SSG, must be unique, cannot start with ssg as this is a reserved word\n PolicyTemplateArguments: policy template must be provided/selected as well as any mandatory fields in that template\n AuthenticationType: None, API Key (Api Key Type: Query, Header), OAuth 2 (Grant Type: AuthorizationCode[Authorization Endpoint, Token Endpoint], Implicit[Authorization Endpoint], Resource Owner Password Credentials, Client Credentials)\n ApiLocationUrl,\n Uuid.\n The optional fields are PrivateDescription, Description, OrgUuid and [WADL/Swagger]. If there are Custom Fields that are required then they must be provided in the request. You can associate either a WADL or Swagger document by base64 encoding it and setting it as the SpecContent parameter. On creation, PortalStatus is always set to ENABLED. You cannot change the PortalStatus on creation.", "produces": [], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an Api.", "required": true, "schema": { "$ref": "#/definitions/ApiBasic" } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/Apis" }, "examples": { "application/json": { "Name": "apiName", "Version": "1", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "PrivateDescription": "", "AccessStatus": "PUBLIC", "Description": "", "SsgUrl": "ssgUrl", "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "PolicyTemplateArguments": { "results": [ { "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "ApiUuid": "{{GENERATED_UUID}}", "Name": "debugMode", "Value": "false", "Label": "Debug Mode", "Type": "boolean" }, { "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "ApiUuid": "{{GENERATED_UUID}}", "Name": "sslEnabled", "Value": "false", "Label": "SSL", "Type": "boolean" } ] }, "AuthenticationType": "NONE", "AuthenticationParameters": "{}", "ApiLocationUrl": "www.pssg.com", "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "Uuid": "{{GENERATED_GUID}}" } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Apis('{uuid}')": { "get": { "tags": [ "Apis" ], "summary": "Returns a single API.", "operationId": "getApi", "description": "The 2.0 endpoint will be the new version to use and the old Apis('{uuid}') endpoint will be deprecated. If you PUT or POST with the 2.0 endpoint, this endpoint will not function correctly and the response will be a 400. Returns a single API.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/Api" }, "examples": { "application/json": { "Uuid": "77091d13-8d5f-4cf3-81f0-4010b813bb48", "ApiLocationUrl": "api.example.com", "AuthenticationType": "NONE", "AuthenticationParameters": null, "SpecFilename": "my_spec.json", "ApplicationUsage": "2", "ServiceDisruption": "0", "InSync": "1", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PrivateDescription": "", "Version": "1", "Description": "", "PortalStatus": "ENABLED", "Name": "my api", "OrganizationUsage": "2", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "SsgUrl": "/my_api", "SsgServiceType": "REST", "AccessStatus": "PUBLIC", "Pending": "0", "PublishedByPortal": true, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "CustomFieldValues": { "results": [ { "CustomFieldUuid": "6d0a1735-3821-4516-a8ad-aa6961d882ae", "EntityUuid": "77091d13-8d5f-4cf3-81f0-4010b813bb48", "Uuid": "a0c38c63-dd82-41b2-987c-3cc2a063fea5", "Value": "one" } ] }, "PolicyTemplateArguments": { "results": [] }, "PossibleStatuses": { "results": [ "DISABLED", "DEPRECATED" ] } } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "Apis" ], "summary": "Update an existing Api.", "description": "Update an existing Api.", "operationId": "updateApi", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the Api to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the Api object.", "required": true, "schema": { "$ref": "#/definitions/ApiUpdate" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "delete": { "tags": [ "Apis" ], "summary": "Delete an existing API", "description": "Delete an existing API. Both Portal and Gateway Published APIs that are disabled are deletable. APIs that are currently in use by applications cannot be deleted even if they are disabled.", "operationId": "deleteApi", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the API to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/api-management/1.0/applications": { "get": { "tags": [ "Applications" ], "summary": "Returns a list of all Applications.", "operationId": "getApplications", "description": "Returns a list of all Applications.\n Mostly Organization Administrators and Developers work with applications in the API Portal. However, working with applications also helps Administrators and API Owners test their APIs and the API Portal. All users except Developers can add applications to the API Portal. After you add an application, the API Proxy generates a unique API key and shared secret for the application. Later, the developers must add the API key to the application so that the application can use the APIs. If the application uses OAuth, the developers must also add the shared secret to the application.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "An array containing all the Applications within the system.", "schema": { "$ref": "#/definitions/ApplicationsGet" }, "examples": { "application/json": { "totalPage": 1, "pageSize": 20, "currentPage": 0, "totalElements": 7, "results": [ { "uuid": "6fdc50fc-9a39-4a0c-bb7e-57fb2d4374ff", "name": "app one", "status": "ENABLED", "organizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "organizationName": "Sample Org", "disabledByType": null } ], "_links": { "self": { "href": "/api-management/1.0/applications?page=0&size=20" } } } } }, "400": { "$ref": "#/responses/InvalidParameters" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Applications": { "post": { "tags": [ "Applications" ], "summary": "Create an Application", "operationId": "createApplication", "description": "Creates an Application. All users except Developers can add applications to the API Portal. After you add an application, if no API key, secret and/or MAG master key is supplied, the API Proxy generates a unique API key, shared secret, and/or MAG master key for the application. Later, the developers must add the API key to the application so that the application can use the APIs. If the application uses OAuth, the developers must also add the shared secret to the application.", "produces": [ "text/plain;charset=UTF-8" ], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an Application.", "required": true, "schema": { "$ref": "#/definitions/ApplicationCreate" } } ], "responses": { "201": { "description": "Application Created" }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Applications('{uuid}')": { "get": { "tags": [ "Applications" ], "summary": "Returns a single Application.", "operationId": "getApplication", "description": "Returns a single Application.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the application to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "An object describing a single Application.", "schema": { "$ref": "#/definitions/Application" }, "examples": { "application/json": { "Uuid": "6fdc50fc-9a39-4a0c-bb7e-57fb2d4374ff", "Name": "my app", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "OrganizationName": "Sample Org", "Description": "desc", "Status": "ENABLED", "DisabledByType": null, "OauthScope": null, "OauthCallbackUrl": null, "ApiKey": "l7xx67167af2f7b1417480cc5824a298c7f2", "KeySecret": "aee5f76d3b43420eb24129af3a66b62a", "MagMasterKey": "99e78c83-02d6-4c8b-8e55-eb0db53ae789", "MagScope": null, "OauthType": null, "Reason": null, "ApiIds": { "results": [ "e82a748e-b9ee-4717-ac90-dd211c4b1de2" ] }, "ApiGroupIds": { "results": [ "8b2f796e-2d3f-482c-85d7-30420109f170" ] }, "CustomFieldValues": { "results": [ { "CustomFieldUuid": "20af5924-85b6-417b-809f-648e3ec18320", "EntityUuid": "6fdc50fc-9a39-4a0c-bb7e-57fb2d4374ff", "Uuid": "9aa55c41-2551-4e0d-b331-364296da4d41", "Value": "value 1" } ] } } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "Applications" ], "summary": "Update an Application", "operationId": "updateApplication", "description": "Update a specific Application.", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "text/plain;charset=UTF-8" ], "parameters": [ { "name": "uuid", "description": "The Uuid of the Application to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "description": "Provides the values needed to update an Application object.", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApplicationUpdate" } } ], "responses": { "200": { "description": "An object describing updating a single Application.", "schema": { "$ref": "#/definitions/Application" }, "examples": { "application/json": { "Uuid": "6fdc50fc-9a39-4a0c-bb7e-57fb2d4374ff", "Name": "my app", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "OrganizationName": "Sample Org", "Description": "desc", "Status": "ENABLED", "DisabledByType": null, "OauthScope": null, "OauthCallbackUrl": null, "ApiKey": "l7xx67167af2f7b1417480cc5824a298c7f2", "KeySecret": "aee5f76d3b43420eb24129af3a66b62a", "MagMasterKey": "99e78c83-02d6-4c8b-8e55-eb0db53ae789", "MagScope": null, "OauthType": null, "Reason": null, "ApiIds": { "results": [ "e82a748e-b9ee-4717-ac90-dd211c4b1de2" ] }, "ApiGroupIds": { "results": [ "8b2f796e-2d3f-482c-85d7-30420109f170" ] }, "CustomFieldValues": { "results": [ { "CustomFieldUuid": "20af5924-85b6-417b-809f-648e3ec18320", "EntityUuid": "6fdc50fc-9a39-4a0c-bb7e-57fb2d4374ff", "Uuid": "9aa55c41-2551-4e0d-b331-364296da4d41", "Value": "value 1" } ] } } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "delete": { "tags": [ "Applications" ], "summary": "Delete a specific Application.", "operationId": "deleteApplication", "description": "Delete a specific Application.", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "text/plain;charset=UTF-8" ], "parameters": [ { "name": "uuid", "description": "The Uuid of the Application to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/CustomFields": { "get": { "tags": [ "CustomFields" ], "summary": "List all Custom Fields with their names, description, statuses, input type and required/optional state.", "operationId": "getCustomFields", "description": "List all Custom Fields with their names, description, statuses, input type and required/optional state. Input type contains the Single-Select Dropdown and Text. There must be at least one option for the Single-Select Dropdown input type.\n Custom Fields provide additional metadata for APIs and Applications. For each API or Application, you can assign the same or different values.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/CustomFields" }, "examples": { "application/json": [ { "Name": "cf", "Uuid": "e18bec62-c731-4dac-825c-35f57b12a971", "Status": "ENABLED", "Required": true, "Description": "", "Type": "SINGLE_SELECT", "EntityType": "API", "OptionsList": { "results": [ { "Value": "a", "Ordinal": 0 } ] } } ] } } } }, "post": { "tags": [ "CustomFields" ], "summary": "Create a custom field record", "description": "Create a custom field record", "operationId": "addCustomField", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "body", "in": "body", "description": "Provides the values needed to set up the CustomField object.", "required": true, "schema": { "$ref": "#/definitions/CustomFieldPost" } } ], "responses": { "201": { "description": "An object describing a single newly created Custom Field.", "schema": { "$ref": "#/definitions/CustomField" }, "examples": { "application/json": { "Name": "cf", "Uuid": "e18bec62-c731-4dac-825c-35f57b12a971", "Status": "ENABLED", "Required": true, "Description": "", "Type": "SINGLE_SELECT", "EntityType": "API", "OptionsList": { "results": [ { "Value": "a", "Ordinal": 0 } ] } } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/CustomFields('{uuid}')": { "get": { "tags": [ "CustomFields" ], "summary": "Returns a specific Custom Field.", "operationId": "getCustomField", "description": "Returns a specific Custom Field.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the Custom Field to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/CustomFields" }, "examples": { "application/json": { "Name": "cf", "Uuid": "e18bec62-c731-4dac-825c-35f57b12a971", "Status": "ENABLED", "Required": true, "Description": "", "Type": "SINGLE_SELECT", "EntityType": "API", "OptionsList": { "results": [ { "Value": "a", "Ordinal": 0 } ] } } } }, "404": { "$ref": "#/responses/NotFound" } } }, "delete": { "tags": [ "CustomFields" ], "summary": "Delete an existing CustomField record", "description": "Delete an existing CustomField record.", "operationId": "deleteCustomField", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the CustomField to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "put": { "tags": [ "CustomFields" ], "summary": "Update an existing custom field record", "description": "Update a custom field record", "operationId": "updateCustomField", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the CustomField to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the CustomField object.", "required": true, "schema": { "$ref": "#/definitions/CustomFieldPut" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/tenant-admin/1.0/organizations": { "get": { "tags": [ "Organizations" ], "summary": "Returns a list of all Organizations.", "operationId": "getOrganizations", "description": "Returns a list of all Organizations.\n You use organizations to group and manage related developers. API Owners can also view the list of organizations. When you register a developer, you assign the developer to an organization. So before you can register a developer from a new organization, add the organization to the API Portal.\n You assign an account plan to each organization. You can use account plans to limit how much the applications developed by an organization's developers can use the API. You can also use account plans to give some organizations access to private APIs.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/Organizations" }, "examples": { "application/json": { "totalPages": 1, "pageSize": 20, "currentPage": 0, "totalElements": 2, "results": [ { "uuid": "05b8d611-c3e9-446c-8f0e-7ccea55435d6", "tenantId": "apim", "name": "organization one", "description": "This is a sample organization description", "status": "ENABLED", "accountPlanUuid": "00000001-9362-11e3-b742-000drahcir00" } ], "_links": { "self": { "href": "/tenant-admin/1.0/organizations?page=0&size=20" } } } } }, "400": { "$ref": "#/responses/InvalidParameters" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/tenant-admin/1.0/organizations/{uuid}": { "get": { "tags": [ "Organizations" ], "summary": "Returns an organization.", "operationId": "getOrganization", "description": "Returns an Organization with the specified uuid.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The uuid of the organization to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/OrganizationGet" }, "examples": { "application/json": { "uuid": "05b8d611-c3e9-446c-8f0e-7ccea55435d6", "tenantId": "apim", "name": "test organization", "description": "This is a sample organization.", "status": "ENABLED", "accountPlanUuid": "2b0636b5-ec27-407a-b825-e8061421efdf" } } }, "400": { "$ref": "#/responses/InvalidUuid" }, "404": { "$ref": "#/responses/NotFoundEntity" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Organizations": { "post": { "tags": [ "Organizations" ], "summary": "Create a new organization", "operationId": "createOrganization", "description": "Create a new organization", "produces": [], "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "body", "in": "body", "description": "Creates an Organization based on the request body parameters. Name, AccountPlanUuid and Uuid fields are required. The Description field can be left empty.", "required": true, "schema": { "$ref": "#/definitions/OrganizationBasic" } } ], "responses": { "201": { "description": "An object describing a single newly created Organization.", "schema": { "$ref": "#/definitions/Organization" }, "examples": { "application/json": { "Uuid": "05b8d611-c3e9-446c-8f0e-7ccea55435d6", "Description": "", "AccountPlanName": "Bronze Account Plan", "ApplicationUsage": "0", "Name": "testorganization", "Status": "ENABLED", "AccountPlanUuid": "00000001-9362-11e3-b742-000drahcir00", "PrivateApiUsage": "0", "UserUsage": "0", "PrivateAppUsage": "0" } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Organizations('{uuid}')": { "delete": { "tags": [ "Organizations" ], "summary": "Delete an existing organization", "description": "Delete an existing organization. If the organization is associated with any applications, users, private APIs, or account plans, then it cannot be deleted.", "operationId": "deleteOrganization", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The UUID of the organization to be deleted.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "put": { "tags": [ "Organizations" ], "summary": "Update an existing organization.", "description": "Update an existing organization.", "operationId": "updateOrganization", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "uuid", "description": "The UUID of the organization to be updated.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the organization object.", "required": true, "schema": { "$ref": "#/definitions/OrganizationBasic" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Users": { "get": { "tags": [ "Users" ], "summary": "Returns a list of all Users", "description": "Returns a list of all Users.\n All registered users of the API Portal have a role. The functionality available to users depends on their role. The API Portal has two role categories: publisher roles and developer roles. The publisher roles are Administrator and API Owner. The developer roles are Organization Administrator and Developer. Organization Administrators can perform the same account management tasks for their organization members. However, Organization Administrators cannot add users. Before developers can use APIs published on the API Portal, they need developer accounts.\n You can add user account to the API Portal. The language setting determines the language of the API Portal text for the user. If the Notify User check box is set to true, the API Portal sends an email to the user. The email message contains an activation token in a URL. The user has the ability to change the username during registration.\n When users register for a developer account, the API Portal sends them an account activation email. The account is then pending. To finish the self-registration process, users click the account activation link in the email and complete the Account Setup form. Users must complete the Account Setup form before the account activation token expires.\n When the User's Status is REGISTRATION_INIT, Administrators can resend the account activation email. This function helps when users cannot find, or mistakenly delete, the email. Pending accounts do not show the user's name.\n Administrators can delete pending developer accounts. When you delete pending accounts, the API Portal deletes the user records and revokes the account activation tokens.", "operationId": "getUsers", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "An array containing all the Users within the system.", "schema": { "$ref": "#/definitions/Users" }, "examples": { "application/json": [ { "Uuid": "c30eadd7-c088-4df0-b3c4-92d8d28b5501", "FirstName": "Test", "LastName": "User", "FullName": "Test User", "Username": "test.user", "Email": "testuser@example.com", "RoleUuid": "00000006-0006-0006-0006-000000000006", "RoleName": "developers", "RoleDescription": "Developer", "RoleType": "EXTERNAL", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "OrganizationName": "Sample Org", "Locale": "en", "Status": "ENABLED" } ] } } } }, "post": { "tags": [ "Users" ], "summary": "Create a new User", "description": "Create a new User", "operationId": "createUser", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "body", "in": "body", "description": "Provides the values needed to set up the User object.", "required": true, "schema": { "$ref": "#/definitions/UserPost" } } ], "responses": { "201": { "description": "An object describing a single newly created User.", "schema": { "$ref": "#/definitions/User" }, "examples": { "application/json": { "Uuid": "c30eadd7-c088-4df0-b3c4-92d8d28b5501", "FirstName": "Test", "LastName": "User", "FullName": "Test User", "Username": "testuser", "Email": "test.user@example.com", "RoleUuid": "00000006-0006-0006-0006-000000000006", "RoleName": "developers", "RoleDescription": "Developer", "RoleType": "EXTERNAL", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "OrganizationName": "Sample Org", "ChangePassword": false, "OldPassword": null, "NewPassword": null, "NotifyUser": false, "Locale": "en", "Status": "ENABLED" } } }, "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Users('{uuid}')": { "get": { "tags": [ "Users" ], "summary": "Returns a single User", "description": "Returns a single User", "operationId": "getUser", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the application to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "An object describing a single User.", "schema": { "$ref": "#/definitions/User" }, "examples": { "application/json": { "Uuid": "c30eadd7-c088-4df0-b3c4-92d8d28b5501", "FirstName": "Test", "LastName": "User", "FullName": "Test User", "Username": "testuser", "Email": "test.user@example.com", "RoleUuid": "00000006-0006-0006-0006-000000000006", "RoleName": "developers", "RoleDescription": "Developer", "RoleType": "EXTERNAL", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "OrganizationName": "Sample Org", "Locale": "en", "Status": "ENABLED" } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "Users" ], "summary": "Update an existing User record", "description": "Update an existing User record", "operationId": "updateUser", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the User to update.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the User object.", "required": true, "schema": { "$ref": "#/definitions/UserPut" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } }, "delete": { "tags": [ "Users" ], "summary": "Delete an existing User record", "description": "Delete an existing User record. There are some limitations on what Users may be deleted. Specifically, the current User cannot be deleted and, if there is only one Organization Admin assigned to a particular Organization, that User cannot be deleted.", "operationId": "deleteUser", "produces": [], "consumes": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the User to delete.", "in": "path", "required": true, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/Apis('{uuid}')/SpecContent": { "get": { "tags": [ "Apis" ], "summary": "Returns the documentation of an API in Swagger format", "description": "Returns the documentation of an API in Swagger format. Even if the original input file type was WADL, it will be converted to Swagger specification.", "operationId": "getSpecContent", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "Uuid of API that has swagger attached", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "An swagger object describing an API.", "schema": { "$ref": "#/definitions/SpecContent" }, "examples": { "application/json": { "swagger": "2.0", "info": { "version": "", "title": "" } } } }, "404": { "$ref": "#/responses/NotFound" } } } }, "/Requests": { "get": { "tags": [ "Requests" ], "summary": "Returns a list of all Developer Requests.", "operationId": "getRequests", "description": "Returns a list of Developer Requests.There are two possible request types that developers can create. Registration Requests originate from individuals seeking to register an Organization and associated Admin User. Application Requests originate from developers who want a key for their application. Listing and viewing Developer Requests is restricted to those users with an Administrator or API Owner role. Administrators can list and view both Registration and Application Requests while API owners can only list and view Application Requests", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/Requests" }, "examples": { "application/json": [ { "Action": null, "EntityUuid": "79fc6f4c-5cd5-4cfd-a811-5a71daaf53e9", "OrganizationName": "SampleOrg", "OrganizationUuid": "6276d779-ee21-409a-b59f-445dad682f73", "Payload": null, "PreviousState": null, "Reason": null, "RequestStatus": "PENDING", "RequestType": "APPLICATION", "Uuid": "aa9b4340-249f-4b6f-9416-20b2efeaa57b" }, { "Action": null, "EntityUuid": "bde6f229-cd1e-4f22-99f6-2e43abb6859f", "OrganizationName": "New Organization", "OrganizationUuid": "7c4497c1-3455-4b05-9230-2368d11c73ef", "Payload": null, "PreviousState": null, "Reason": null, "RequestStatus": "PENDING", "RequestType": "REGISTRATION", "Uuid": "8768cdbc-a817-4f69-aa1c-7ef47df0ec68" }, { "Action": null, "EntityUuid": "cd848045-77d0-40b2-bbef-e2437a477955", "OrganizationName": "SampleOrg1", "OrganizationUuid": "6276d779-ee21-409a-b59f-445dad682f73", "Payload": null, "PreviousState": null, "Reason": "One of the APIs you have requested access to requires manager approval.", "RequestStatus": "REJECTED", "RequestType": "APPLICATION", "Uuid": "f37a3026-e250-4834-9052-071576606aaa" } ] } } } } }, "/Requests('{uuid}')": { "get": { "tags": [ "Requests" ], "summary": "Get a specific Request.", "operationId": "getRequest", "description": "Get a specific Request.", "consumes": [], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the request to return.", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "An object describing a single Request.", "schema": { "$ref": "#/definitions/Request" }, "examples": { "application/json": { "Action": null, "EntityUuid": "cd848045-77d0-40b2-bbef-e2437a477955", "OrganizationName": "SampleOrg1", "OrganizationUuid": "6276d779-ee21-409a-b59f-445dad682f73", "Payload": null, "PreviousState": null, "Reason": "You are requesting access to a deprecated API", "RequestStatus": "REJECTED", "RequestType": "APPLICATION", "Uuid": "f37a3026-e250-4834-9052-071576606aaa" } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "Requests" ], "summary": "Update a specific Request.", "operationId": "updateRequest", "description": "Update a specific Request. Support for updating a Request is provided to allow authorized users to accept or reject a Request. A Request can be accepted by setting the Action field to 'ACCEPT' and by optionally setting the Reason field to provide an explanation for the approval. A Request can be rejected by setting the Action field to 'REJECT' and by further setting the Reason field to provide a required explanation as to why the request was rejected. Updates to other fields will be ignored.", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "uuid", "description": "The Uuid of the request to return.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to update the Request.", "required": true, "schema": { "$ref": "#/definitions/Request" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" } } } }, "/search/query": { "get": { "tags": [ "Search" ], "summary": "search", "operationId": "getSearch", "description": " Search for portal entities by keyword", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "searchFilter", "in": "query", "description": "Query for search", "required": true, "type": "string" }, { "name": "searchType", "in": "query", "description": "Entity to search", "required": true, "type": "string", "enum": [ "ALL", "API", "APPLICATION", "CQ" ] }, { "name": "page", "in": "query", "description": "Page result to view. Page 1 is the first page", "required": false, "type": "integer" }, { "name": "size", "in": "query", "description": "The number of results page. Defaults to 10", "required": false, "type": "integer" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Search" }, "examples": { "application/json": { "last": true, "numberOfElements": 1, "totalElements": 1, "totalPages": 1, "maxElementsPerPage": 3, "content": [ { "uuid": "3c1a3777-a06b-4665-9a7e-e7e559c02bc4", "name": "portal authorization api (apim)", "description": "provides access to portal rbac apis for programmatically interacting with your portal", "accessStatus": "PRIVATE", "orgs": "0841c287-56d6-4d16-9aaf-60173d3074d3", "type": "API", "score": "0.08453174", "link": "/admin/app/api-catalog#list/name/portal authorization api (apim)", "portalStatus": "ENABLED" } ], "number": 0 } } } } } }, "/Settings('{input}')": { "get": { "tags": [ "Settings" ], "summary": "Returns the value of a given portal setting by its name", "description": "Returns the value of a given portal setting by its name.\n The following settings can be retrieved using this method:\n GOOGLE_ANALYTICS_ID: Google Analytics tracking is enabled in the Portal when providing the Google Analytics code via this setting, Values (e.g. Google Analytics ID e.g. UA-XXXXX-XX);\n ACTIVATE_MSSO: Enables/disables Portal-based support for MAG Mobile Single Sign On clients. Values (true, false);\n APPLICATION_REQUEST_WORKFLOW: Enables/disables approval process when creating applications, Values (ENABLED, DISABLED);\n EDIT_APPLICATION_REQUEST_WORKFLOW: Enables/disables approval process when editing applications, Values (ENABLED, DISABLED);\n APP_EDIT_WF_EXCLUDE_PROPS: Allows to specify a list of fields that users can change without requiring approval process when editing applications, Values (e.g. {\"Fields\":[\"Name\",\"Description\",\"Status\"],\"CustomFields\":[\"MyCustomField\",\"AnotherCustomField\"]}); \nThe CustomFields object array values matches the actual name of the Custom Field.\nEXT_USER_DASHBOARD_URI: Returns the URI of the Dashboard seen by external users (e.g. \"/app/mydashboard.html\")", "operationId": "getSetting", "consumes": [], "produces": [], "parameters": [ { "name": "input", "description": "Name of the setting", "in": "path", "required": true, "type": "string" } ], "responses": { "200": { "description": "An object describing a single Setting.", "schema": { "$ref": "#/definitions/Setting" }, "examples": { "application/json": { "Uuid": "4f33be8f-186a-11e6-8d57-000c295530e4", "Name": "ACTIVATE_MSSO", "Value": "false" } } }, "404": { "$ref": "#/responses/NotFound" } } }, "put": { "tags": [ "Settings" ], "summary": "Updates the value of a given portal setting by its name or uuid", "description": "Updates the value of a given portal setting by its name or uuid.\n The following settings can be retrieved using this method:\n GOOGLE_ANALYTICS_ID: Google Analytics tracking is enabled in the Portal when providing the Google Analytics code via this setting, Values (e.g. Google Analytics ID e.g. UA-XXXXX-XX);\n ACTIVATE_MSSO: Enables/disables Portal-based support for MAG Mobile Single Sign On clients. Values (true, false);\n APPLICATION_REQUEST_WORKFLOW: Enables/disables approval process when creating applications, Values (ENABLED, DISABLED);\n EDIT_APPLICATION_REQUEST_WORKFLOW: Enables/disables approval process when editing applications, Values (ENABLED, DISABLED);\n APP_EDIT_WF_EXCLUDE_PROPS: Allows to specify a list of fields that users can change without requiring approval process when editing applications, Values (e.g. {\"Fields\":[\"Name\",\"Description\",\"Status\"],\"CustomFields\":[\"MyCustomField\",\"AnotherCustomField\"]});\nThe CustomFields object array values must match the actual name of the Custom Field. The minimum json structure is {\\\"Fields\\\":[],\\\"CustomFields\\\":[]}.\nEXT_USER_DASHBOARD_URI: Updates the URI of the Dashboard seen by external users (e.g. \"/admin/app/dashboard.html\")", "operationId": "updateSetting", "consumes": [ "application/json;charset=UTF-8" ], "produces": [], "parameters": [ { "name": "input", "description": "Json document", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the Setting object.", "required": true, "schema": { "$ref": "#/definitions/Setting" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/developerRoleTypes": { "get": { "tags": [ "Users" ], "summary": "List All Developer Role Types", "operationId": "getDeveloperRoleTypes", "description": "List All Developer Role Types. The developer roles are Organization Administrator and Developer. Each developer organization needs at least one Organization Administrator. An Organization Administrator can be an application developer. The devorgadministrators or the Organization Administrator role can: test and Explore APIs, edit user accounts, reset user passwords, edit your user profile, add applications, edit applications. The developers or Developer role can: test and explore APIs, edit your user profile and edit applications.;\nEXT_USER_DASHBOARD_URI: Updates the URI of the Dashboard seen by external users (e.g. \"/admin/app/dashboard.html\")", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "A list of all valid developer role types in the system.", "schema": { "$ref": "#/definitions/RoleTypes" }, "examples": { "application/json": { "developerRoleTypes": [ { "uuid": "00000005-0005-0005-0005-000000000005", "name": "devorgadministrators" }, { "uuid": "00000006-0006-0006-0006-000000000006", "name": "developers" } ] } } } } } }, "/publisherRoleTypes": { "get": { "tags": [ "Users" ], "summary": "List All Publisher Role Types", "operationId": "getPublisherRoleTypes", "description": "List All Publisher Role Types. The portaladministrators or Administrator role can do everything in the API Portal: customize the API Portal, add and edit API EULAs, publish and edit APIs, test and explore APIs, add and edit account plans, add and edit developer organizations, add users, edit user accounts, reset user passwords, edit your user profile, add applications and edit applications. The API Portal needs at least one Administrator. The apiowners or API Owner role can add and edit API EULAs, publish and edit APIs, test and explore APIs, edit your user profile, add applications and edit applications. ", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "A list of all valid publisher role types in the system.", "schema": { "$ref": "#/definitions/RoleTypes" }, "examples": { "application/json": { "publisherRoleTypes": [ { "uuid": "00000001-0001-0001-0001-000000000001", "name": "portaladministrators" }, { "uuid": "00000004-0004-0004-0004-000000000004", "name": "apiowners" } ] } } } } } }, "/languages": { "get": { "tags": [ "Users" ], "summary": "List All languages", "operationId": "getLanguages", "description": "List All languages. Only English is the supported language type.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "A list of all language codes in the system.", "schema": { "$ref": "#/definitions/Languages" }, "examples": { "application/json": { "languages": [ { "uuid": "en", "name": "en" } ] } } } } } }, "/policyTemplates": { "get": { "tags": [ "Apis" ], "summary": "Returns a list of all Policy Templates.", "operationId": "getPolicyTemplates", "description": "Returns a list of all Policy Templates.\n Policy templates allow you to create simple policies for the API such as authentication details. Policy Templates are required to publish an API.", "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/PolicyTemplates" }, "examples": { "application/json": { "policyTemplates": [ { "uuid": "72093738-871a-45bd-b114-ad3a61893ac0", "encassId": "e7a1c1c4e504ff21d29611f9ff85463b", "name": "Standard Policy Template - API Key", "description": "This policy template applies an API Key check to all API access calls. NOTE: API Key authentication is not considered a secure authentication method. The use of this policy template is recommended for testing purposes only.", "policyGuid": "5a1aa929-3c23-40f4-8558-146a916fe7bb", "fragmentDetails": { "hasRouting": true, "parsedPolicyDetails": "" }, "arguments": [ { "name": "debugMode", "type": "boolean", "label": "Debug Mode" }, { "name": "email", "type": "string", "label": "Email (SLA notifications will be sent to this address)" }, { "name": "sla", "type": "int", "label": "SLA (ms)" }, { "name": "smtpServer", "type": "string", "label": "SMTP Server (your email gateway)" }, { "name": "sslEnabled", "type": "boolean", "label": "SSL" } ], "default": true }, { "uuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "encassId": "4c5453d9a34fa56f13df266ac9483439", "name": "Standard Policy Template - No Auth", "description": "This policy template applies NO authentication checks. The use of this policy template is recommended for testing purposes only, or for proxying third-party APIs (such as Twitter) which have their own authentication requirements.", "policyGuid": "166942f6-ba87-40a7-a1b3-02f00fd9152b", "fragmentDetails": { "hasRouting": true, "parsedPolicyDetails": "" }, "arguments": [ { "name": "debugMode", "type": "boolean", "label": "Debug Mode" }, { "name": "email", "type": "string", "label": "Email (SLA notifications will be sent to this address)" }, { "name": "sla", "type": "int", "label": "SLA (ms)" }, { "name": "smtpServer", "type": "string", "label": "SMTP Server (your email gateway)" }, { "name": "sslEnabled", "type": "boolean", "label": "SSL" } ], "default": false }, { "uuid": "2e69dcfb-2302-4959-b43c-1931a152b8e4", "encassId": "4c5453d9a34fa56f13df266ac9483568", "name": "Standard Policy Template - OAuth 2.0", "description": "This policy template applies an OAuth 2 check to all API access calls, and is appropriate for both two- and three-legged OAuth implementations. The following grant types are supported: Implicit, Client Credentials, Resource Owner Password Credentials, and Authorization Code.", "policyGuid": "549dfaca-1026-4c22-a38f-08bcde5153cb", "fragmentDetails": { "hasRouting": true, "parsedPolicyDetails": "" }, "arguments": [ { "name": "debugMode", "type": "boolean", "label": "Debug Mode" }, { "name": "email", "type": "string", "label": "Email (SLA notifications will be sent to this address)" }, { "name": "sla", "type": "int", "label": "SLA (ms)" }, { "name": "smtpServer", "type": "string", "label": "SMTP Server (your email gateway)" }, { "name": "sslEnabled", "type": "boolean", "label": "SSL" } ], "default": false } ] } } } } } }, "/api-management/1.0/apis/{uuid}/bundle": { "get": { "tags": [ "Apis" ], "summary": "Retrieve XML representation of API", "description": "Get an XML representation of the API that can be used with RESTMAN on CA API Gateway to deploy or un-deploy the API", "operationId": "getApiBundleUsingGET", "consumes": [ "application/json" ], "produces": [ "application/xml" ], "parameters": [ { "name": "uuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "The type of bundle to retrieve. Allowable values: ['delete', 'create']", "required": false, "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { "type": "string" } } } } }, "/deployments/1.0/apis/{apiUuid}/proxies": { "get": { "tags": [ "ApiDeployments" ], "summary": "Returns the list of proxies where the API is deployed", "description": "Returns the list of proxies where the API is deployed.", "operationId": "getApiDeploymentsUsingGET_1", "consumes": [ "application/json" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "apiUuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { "type": "array", "items": { "$ref": "#/definitions/ApiDeployDto" } } }, "400": { "description": "Bad request due to a validation error." }, "404": { "description": "Entity not found" } } }, "post": { "tags": [ "ApiDeployments" ], "summary": "Triggers the deployment of the API to the proxy", "description": "The API will be deployed to the specified proxy.", "operationId": "createApiDeploymentUsingPOST_1", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "apiUuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" }, { "in": "body", "name": "apiDeployCreateDto", "description": "The API deployment to create.", "required": false, "schema": { "$ref": "#/definitions/ApiDeployCreateDto" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/ApiDeployDto" } }, "400": { "description": "Bad request due to a validation error." }, "404": { "description": "Entity not found" } } } }, "/deployments/1.0/apis/{apiUuid}/proxies/{proxyUuid}": { "get": { "tags": [ "ApiDeployments" ], "summary": "Retrieves API's deployment details for the given proxy", "description": "Retrieves API's deployment details for the specified proxy.", "operationId": "getApiDeploymentUsingGET_1", "consumes": [ "application/json" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "apiUuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" }, { "name": "proxyUuid", "in": "path", "description": "The proxy UUID.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/ApiDeployDto" } }, "400": { "description": "Bad request due to a validation error." }, "404": { "description": "Entity not found" } } }, "put": { "tags": [ "ApiDeployments" ], "summary": "Updates API's deployment status for a proxy", "description": "Updates the specified API's deployment status and message for the specified proxy.", "operationId": "updateApiDeploymentUsingPUT", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "apiUuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" }, { "name": "proxyUuid", "in": "path", "description": "The proxy UUID.", "required": true, "type": "string" }, { "in": "body", "name": "apiDeployUpdateDto", "description": "The updated API deployment.", "required": false, "schema": { "$ref": "#/definitions/ApiDeployUpdateDto" } } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/ApiDeployDto" } }, "400": { "description": "Bad request due to a validation error." }, "404": { "description": "Entity not found" } } }, "delete": { "tags": [ "ApiDeployments" ], "summary": "Un-deploys the API from the proxy", "description": "Un-deploys the specified API from the specified proxy.", "operationId": "deleteApiDeploymentUsingDELETE_1", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "apiUuid", "in": "path", "description": "The API UUID.", "required": true, "type": "string" }, { "name": "proxyUuid", "in": "path", "description": "The proxy UUID.", "required": true, "type": "string" } ], "responses": { "204": { "description": "Success" }, "400": { "description": "Bad request due to a validation error." }, "404": { "description": "Entity not found" } } } }, "/deployments/1.0/proxies": { "get": { "tags": [ "Proxies" ], "summary": "Returns the list of all proxies associated with the Portal", "description": "Returns the list of all proxies associated with the Portal. Proxies with an enrollment status of pending are ready to be enrolled with the Portal using the enrollment url returned. Active proxies have already been enrolled and are ready to use.", "operationId": "getProxiesUsingGET_1", "consumes": [ "application/json" ], "produces": [ "application/json;charset=UTF-8" ], "responses": { "200": { "description": "Success", "schema": { "type": "array", "items": { "$ref": "#/definitions/proxy" } } } } }, "post": { "tags": [ "Proxies" ], "summary": "Creates an enrollment URL for a proxy", "description": "A proxy is a runtime environment where APIs, Applications, and Account Plans are deployed. Proxies are initially created in a pending state with a new enrollment URL. Each proxy has a deployment type setting which can be set as AUTOMATIC, ON_DEMAND or MANUAL. A proxy with a pending status is ready to be enrolled with the Portal. Once enrolled a proxy transitions to an active state and is ready to use.", "operationId": "createProxyUsingPOST", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "in": "body", "name": "body", "description": "The proxy to create.", "required": true, "schema": { "$ref": "#/definitions/ProxyDeployCreateDto" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/proxy" } }, "400": { "description": "Bad request due to a validation error." } } } }, "/deployments/1.0/proxies/{uuid}": { "get": { "tags": [ "Proxies" ], "summary": "Returns a specific proxy", "description": "Returns details about the specified proxy. A proxy with an enrollment status of pending is ready to be enrolled with the Portal using the enrollment url returned. An active proxy is enrolled and ready to use.", "operationId": "getProxyUsingGET", "consumes": [ "application/json" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "uuid", "in": "path", "description": "The proxy UUID to get.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/proxy" } }, "404": { "description": "Entity not found" } } }, "put": { "tags": [ "Proxies" ], "summary": "Update a specific proxy", "description": "Active proxies can be updated to change their name and/or deployment type setting.", "operationId": "updateProxyUsingPUT", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "uuid", "in": "path", "description": "The proxy UUID to update.", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "The updated proxy.", "required": true, "schema": { "$ref": "#/definitions/ProxyDeployUpdateDto" } } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/proxy" } }, "400": { "description": "Bad request due to a validation error." }, "404": { "description": "Entity not found" } } }, "delete": { "tags": [ "Proxies" ], "summary": "Delete a specific proxy", "description": "A proxy can be deleted which will prevent any entities from being deployed to it essentially breaking its connection to the Portal. The last proxy enrolled with the Portal cannot be deleted.", "operationId": "deleteProxyUsingDELETE", "consumes": [ "application/json" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "uuid", "in": "path", "description": "The proxy UUID to delete.", "required": true, "type": "string" } ], "responses": { "204": { "description": "Success" }, "404": { "description": "Entity not found" } } } }, "/branding/1.0/themes": { "get": { "tags": [ "Themes" ], "summary": "Get a theme", "description": "Returns the settings for the applied theme on the tenant. If the organization id is provided in the GET request, the applied theme on the given organization is returned.", "operationId": "getTheme", "consumes": [], "produces": [], "parameters": [ { "name": "APIM-OrgUuid", "in": "header", "description": "The Uuid of the Organization to return", "required": false, "type": "string" } ], "responses": { "200": { "description": "An array containing theme related settings.", "schema": { "$ref": "#/definitions/Theme" }, "examples": { "application/json": [ { "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAA8CAYAAADFXvyQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjkxNkRBMDU0MEIzOERGMTE4N0Y3RTdFRUFERUI2NUM0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkwRkI0NDgwRTJCRjExRTNCRjE1QTU2MzE5RTY4QTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkwRkI0NDdGRTJCRjExRTNCRjE1QTU2MzE5RTY4QTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OGNkYTBiNTMtYjNjZC00YTcyLWIyY2ItZjA5ZjliYzRlOGExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhjZGEwYjUzLWIzY2QtNGE3Mi1iMmNiLWYwOWY5YmM0ZThhMSIvPiA8ZGM6dGl0bGU+IDxyZGY6QWx0PiA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPiBjYV9sb2dvX3I8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRpdGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhCTrIoAAAkPSURBVHja7FtpcBVFEJ4chCMhJhAOY1QQDAEMgoiIUQSBKIpClCIccnoUKOKFikh5FB5oiTeXUoAFiFggCmK0QEABQUBB7kMEETnkECEhHIHYXfut6WzlJTuzu0l+0FVfvff2zc7x7UxPd09vWI+BQ5QHiSJcQ2hGqE+oS4gmVCWcIZwgHCFsJ2wmrCb8pdlGHcLVhGTUn0ioTIgh5BOyCScJ+wi70M46wn7lg0Qa3teO0JvQAR12K2cJywmfE6YTjoYo15TQhXA7oYVB//jhLCPMIUwl/GtKUJjmDOpEGE5o5cPD4Zn1LmEkflcEIf0Jdyr/5BBhFOGtIAniJTOB0EP5L7wk+hB+xpKMUcHId5iV2To3hbsow+t/Y0DksDQirCF0xIM4HFA77dBORT8Juo6winCZCl6+JjQkXB5gGw3Qji8E1YNCjVKlJ5uxI90TYBu36KyG4gha6GGX8yLLsMutDbCNUV4JmgD7w1RY2f5jeG8atvmuIf7PJfxNOO2hf5e5NR+KIqgx4UGDRlmRPwKlXhdIwQ61VLOuyYTfCXtE3U8QrhV118FymWBIUgdTQ/Edg8bGEAYXcZ0NtG0w1l4mPOeyvqbY0cYT2hBuLaIM66oDhMWE+YS5mn1OMZlBrOXbazb0bQhynDJCcxBsoL0WghynzNMg35ZEE4IGGcyevhplR2iUTTdQvDpGYJwJQbrbK9sUBzXKb9Ao21pzFz0Ps8RPI7lQB1IJSZoEzTOYcQ+jnTMl9CvX7SCEbHO5JG1CtQi6yWCwawzuGRuAXRODsST6XXGkw+fSkTzCH6VkPNaAC8Kz/GLClbjGqE6Ix1higySovua9h73EWUqQBNg4N8OgY4c2ugys+kIE1da891gJesRE7iD0wmesKgcSKTR6VYMl5pdwnOZZRA/KldgERRsQFO5D+xwpmIRZUy4lUnxW0Lz3vMe24+G5N/JYD5sDHFbdBeWdGARB2fDAdRRhJQ/t8uxbAddGV/j0YgnI3Qxw8P8cTIhBQRDEpw05mvfy9loZT1BXJhuQ8yVhIny/syHKVPR7iUk9ctBgiSQYtJmKEIhb2QEHmhX5V8WQwxIWJEG7DO6vZ3DPUxplfyE0UdaJhBvJD5KgjQb3N9csHwEbx42chLF4SqP+akEStNzg/gzN8g01BvGRgaWeEiRBKww6lKapbHXcmR80+5IUNEF52Cl0ZapG2Ys0l6OODA3CUHRaw+MM6mBncooL5/NSFTpZoShpqTl7Hi0NglYq64xcVzjsuhWdbIGZEostfSCMuZ7KSn9xK/fBzipJ2PZZUBrevC18dPOjQV2si+wTkeP4lB45x3EOaNQXBz3EYeA9xdhU04PQPcU5nKysP/VYb2wR4YoMg92Sz8G2Y+kzUZysxYG9btB960FSYBIq/SUKT62Wz+3FYQkuUGUvq9zouVAhCw6EtfHBY3cKn4IuNHBrgpBKpkvMlq2wc0772KlM7GbNAxr0NPhubiTGoeg5P6kX+pjkhiB7V2sGsvySn5SVyJnpMzmvKytv0u1ZWrzYJZvAremsCpJSI9wQxLIFFbzv00B4N+P8xM8I/Xyqk4+oh2k6rEzQJfjORPERVjo+9xKquCXIjhcNAbvTfNBNW+CXfQzyswzr4V2MEz+Hi2tHNO7vLMbHCRPPIELBkckcpfQTpNZiGj9PuEtZeX/NVMknsnsRuliEmM5O8d8GDLI1ZlR76KlQsg+myKwQ5sjbysrGPefClTmE76sxi1jf1sQOd764bV7X2EzGdK0tZiVP9f3QN9tcdFjqxVQ4trHoaD4Gsxf68GxpbXV+pNjlqYLYsB/ChPwKlLmEqwtygaALBF0gqOwJ4tNIr9n0HHLgF0Za+dxHTtt72uNGxJlwo70Q9L2y0m69CIcmHlf+vqnDMhJuhBdhP+s2L9t8vNKPAUeqwhke9gnrOmGI2bZPmMMFCA9hjRd1nSML2S7L2o7naRG2Oaf0DxT/r5u/cKC+Ov44CsuY5RUMKh8muOzAdBhrnE3/AK7b51d3wxJlwt4TBPHhH78fNhOdXuxY1mNwPRczUQmDU5L7mLLOzLjsODH4BrCwT6Gt8fgdBb9Pvn7wkqh3mLjO73AcRt28LFPZkuZGBqCi1XAhumEww2CCv6CsF92mKCtr/kZlRfRawopuCt/FDjXMhSXcCC7EUjHIZbCIuyvrnQyOFM7A7xm4j4NqXfDweDZwYkUCrs2BQ8mRRo5z8/kZx705oYtTeF4FwdzvPugnt/0nHgiP5UVl5SNFgSx+qN+AeO47h3rfJGTYrsYOdCzM4SY0xjV2ADchPnRMDIxlMH4nY1bwbHtDWelzSzDDJqLO3+AI2m0wcW2xVDkMcr34j9u7Slnx7WxsJJtAut1PDt/eoKzT2vmYXfxgM9CnBPQ9H4G6DsJtaSBWzUb8tx8OdD+nkpYuh71uY3DzETC7ThXEf2XI9AM4kDXx+7jQa1I3KZAr2+OXUqqJwdqyXxXkDeWK5csRABn4X4RPXhbzsNvxk59UhBmTI3RaJYztKMamUC+HTfqCxA855BEuFKoMbUTAyayAactO471imdRy6CQlFHZlR535DvKVmAERooM1RLmqQjFHirpOqMKZcIki7LEY/eyCJdgaMyXS8VCiQKg9tqqqIDbNYZMrsGx55s+0CYoWtkw+IokpWHbhWCL9VUFe9FAslUw84aZC/0Q4nl5EEQTJ4FkOlH1vtNkJs3caysSJ2TgVfe2MsgMQW0qCDcbHVU8q63xuqaMfCSKiWRezMQxkdEQ0YhUeuP22U7rNahbisVugIDmythu/bdkJhdkVsZjtIkB1QBWcu0c5nphcvlUcBNUUdspK0d4OYRzKBNNhiBd9IeroCd22Fv1OF7ONH+ps/LaPvbtjM1ov6rDjP80cY77f7nxfBLJqY7AnEFnrhgHz+raTxmdDIbNBeBBbvi1tBXELEOe102pai2WTh98nxFNNAvmsFz4RNlSa+J4N3dQLs2oOdqfuCLJlYktPRgxqFmZJmtBBuzG2TOii+cJIroC662IH3eBHwKw8yEOwo7Kgi6KxnWchWlmmAbPyIGOh7IfAvsmBnhztteL/BBgAw9AEg+l2qV0AAAAASUVORK5CYII=", "favicon": "data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////+/v7//T09P/39/f///////7+/v/39/f/9fX1//39/f///////Pz8//z8/P/+/v7////////////5+fn/urq6/2tra/9NTU3/WFhY/6Kiov+goKD/V1dX/05OTv+Ghob/u7u7/3Fxcf9wcHD/wcHB/9PT0//8/Pz/l5eX/xUVFf8AAAD/AAAA/wsLC/9BQUH/Dg4O/wEBAf8cHBz/Hh4e/yEhIf8EBAT/EBAQ/7Ozs//g4OD/y8vL/yQkJP8AAAD/Hx8f/4aGhv+VlZX/Pj4+/wAAAP9AQED/1dXV/8bGxv8zMzP/AAAA/xEREf/ExMT//////4eHh/8FBQX/AAAA/3l5ef//////+fn5/15eXv8AAAD/QkJC/+Hh4f//////hoaG/wAAAP8RERH/xMTE//////9nZ2f/AAAA/wQEBP+cnJz///////////+9vb3/Kioq/wQEBP82Njb/e3t7/1ZWVv8AAAD/ERER/8TExP//////cXFx/wAAAP8EBAT/m5ub////////////+Pj4/8bGxv99fX3/UFBQ/zk5Of8eHh7/AAAA/xEREf/Dw8P//////6Kiov8MDAz/AAAA/21tbf/6+vr/8/Pz/39/f/9MTEz/hoaG/+np6f/t7e3/cXFx/wAAAP8RERH/xcXF///////n5+f/R0dH/wAAAP8TExP/ZWVl/2BgYP8NDQ3/BQUF/0VFRf9jY2P/b29v/x8fH/8AAAD/IyMj/9ra2v///////////83Nzf9HR0f/CwsL/wAAAP8AAAD/ERER/1tbW/9DQ0P/AgIC/wAAAP8DAwP/GBgY/4yMjP/7+/v/////////////////6urq/7Kysv+SkpL/lZWV/76+vv/w8PD/zc3N/56env+Pj4//mZmZ/8fHx//4+Pj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "siteTitle": "CA Technologies Developer Network", "lastUpdated": 1501784674317, "color": { "siteTitle": "#48575F", "pageTitle": "#48575F", "background": "#F7F7F7", "bodyText": "#48575F", "link": "#09AEEF", "linkHover": "rgba(9, 174, 239, .5)", "smallText": "#48575F", "borderColor": "#D8D8D8", "primaryButtonBackground": "#09AEEF", "primaryButtonText": "#FFFFFF", "primaryButtonHover": "rgba(9, 174, 239, .5)", "headerBackground": "#FFFFFF", "headerLink": "#09AEEF", "footerBackground": "#48575F", "footerText": "#FFFFFF", "footerLink": "#09AEEF" }, "typography": { "siteTitle": "CA Sans Light", "pageTitle": "CA Sans Light", "bodyText": "Clear Sans", "smallText": "Clear Sans", "footerText": "Clear Sans", "buttonText": "Clear Sans" }, "fontSize": { "siteTitle": "30px", "pageTitle": "25px", "bodyText": "14px", "smallText": "12px", "footerText": "14px", "buttonText": "16px" }, "display":{ "versionNumber":true } } ] } } } }, "put": { "tags": [ "Themes" ], "summary": "Update a theme", "description": "Updates a theme by providing the settings to suit your preference. If the organization id is provided in the PUT request, the theme is updated for the given organization.", "operationId": "updateTheme", "consumes": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "APIM-OrgUuid", "in": "header", "description": "The Uuid of the Organization to update", "required": false, "type": "string" }, { "name": "body", "in": "body", "description": "Provides the values needed to set up the Theme object.", "required": true, "schema": { "$ref": "#/definitions/Theme" } } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } }, "/branding/1.0/themes/reset": { "post": { "tags": [ "Themes" ], "summary": "Reset a theme", "description": "Resets a theme to tenant theme If the organization id is provided, otherwise the POST request will reset the theme settings to default theme.", "operationId": "resetTheme", "produces": [], "parameters": [ { "name": "APIM-OrgUuid", "in": "header", "description": "The Uuid of the Organization to reset", "required": false, "type": "string" } ], "responses": { "400": { "$ref": "#/responses/BadRequest" }, "404": { "$ref": "#/responses/NotFound" }, "500": { "$ref": "#/responses/InternalServerError" } } } } }, "definitions": { "AccountPlans": { "type": "array", "items": { "$ref": "#/definitions/AccountPlanFull" } }, "AccountPlanRequest": { "allOf": [ { "$ref": "#/definitions/AccountPlanBasic" }, { "type": "object", "properties": { "Description": { "type": "string", "maxLength": 65000 }, "RateLimit": { "type": "integer", "minimum": 1, "maximum": 2000000000, "description": "The number of requests per second this Account Plan will support. If this rate is surpassed, requests will be rejected with a 400 response and appropriate error message. Specify this value as null if you do not want rate limiting thus allowing an unlimited number of requests per second." }, "Quota": { "type": "integer", "minimum": 1, "maximum": 2000000000, "description": "The number of requests allowed per proxy for this Account Plan based on the interval specified via QuotaInterval. Specify this value as null if you do not want quota limiting thus allowing an unlimited number of requests per proxy." }, "QuotaInterval": { "type": "string", "enum": [ "DAY", "MONTH" ], "description": "The interval for which the quota is applied per proxy and can only be either day or month. This value is required if one is also specified for Quota." }, "ApiIds": { "type": "object", "uniqueItems": true, "required": [ "result" ], "properties": { "results": { "type": "array", "items": { "type": "string" } } }, "description": "An array that contains IDs of private APIs assigned to this Account Plan. Private APIs can only be removed if OrganizationUsage == 0 meaning the Account Plan is not in use." } } } ] }, "AccountPlanFull": { "allOf": [ { "$ref": "#/definitions/AccountPlanRequest" }, { "type": "object", "properties": { "DefaultPlan": { "type": "boolean", "description": "Denotes this plan as the default plan. The default plan cannot be changed nor can there be more than one." }, "OrganizationUsage": { "type": "integer", "description": "The number of Organizations that have this Account Plan assigned to them." } } } ] }, "AccountPlanPost": { "allOf": [ { "$ref": "#/definitions/AccountPlanRequest" }, { "example": { "Uuid": "{{GENERATED_GUID}}", "Name": "Premium Account Plan", "Description": "This is a Premium Account Plan", "RateLimit": 100, "Quota": 300000, "QuotaInterval": "DAY" } } ] }, "AccountPlanPut": { "allOf": [ { "$ref": "#/definitions/AccountPlanRequest" }, { "example": { "Uuid": "UUID_Account_Plan", "Name": "Premium Account Plan", "Description": "This is an for the Premium Account Plan. The rate and limit has been increased now.", "RateLimit": 120, "Quota": 400000, "QuotaInterval": "DAY" } } ] }, "AccountPlanBasic": { "type": "object", "required": [ "Uuid", "Name" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of Account Plan must be unique.", "maxLength": 50 } } }, "ApiEulas": { "type": "array", "items": { "$ref": "#/definitions/ApiEula" } }, "ApiEula": { "allOf": [ { "$ref": "#/definitions/ApiEulaBasic" }, { "type": "object", "properties": { "ApiUsage": { "type": "integer", "description": "The number of Apis that have this End-User Licence Agreement applied to them." }, "ApplicationUsage": { "type": "integer", "description": "The number of Applications that are affected by this End-User Licence Agreement through the APIs they access." }, "PossibleActions": { "type": "string", "enum": [ "DELETE", "EDIT" ], "description": "A list of actions that the logged-in user may perform on the EULA. A EULA cannot be edited if an associated API is being used by an application. A EULA cannot be deleted if it is associated with an API." } } } ] }, "ApiEulaPut": { "allOf": [ { "$ref": "#/definitions/ApiEula" }, { "example": { "Uuid": "00613e59-d02a-44ce-a546-5006487b7922", "Name": "Test Eula Name updated", "Content": "Test Eula Content updated" } } ] }, "ApiEulaBasic": { "type": "object", "required": [ "Uuid", "Name", "Content" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of End-User Licence Agreement which must be unique.", "maxLength": 50 }, "Content": { "type": "string", "description": "The HTML content of the End-User Licence Agreement. This contains the text that an end-user must agree to in order to access any API that has this EULA applied to it." } } }, "ApiGroups": { "type": "array", "items": { "$ref": "#/definitions/ApiGroup" }, "xml": { "name": "ApiGroups" } }, "ApiGroup": { "type": "object", "required": [ "uuid", "name", "status" ], "properties": { "uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "name": { "type": "string", "description": "Name of API Group which must be unique.", "maxLength": 255 }, "status": { "type": "string", "enum": [ "ENABLED", "DISABLED" ], "description": "Status of API Group." }, "description": { "type": "string", "description": "Description of API Group.", "maxLength": 255 } } }, "ApiGroupPut": { "allOf": [ { "$ref": "#/definitions/ApiGroup" }, { "example": { "uuid": "ae7af4e7-11a7-4691-8b84-be60e304e304", "name": "test", "status": "ENABLED", "description": "testing description" } } ] }, "ApiGroupApis": { "type": "array", "items": { "$ref": "#/definitions/ApiGroupApi" }, "example": [ { "uuid": "bb071bc2-5e59-4f86-85d1-2e4851603adc" }, { "uuid": "2bd6fcae-c490-43dd-a2fc-c77645497402" } ], "xml": { "name": "ApiGroupApi" } }, "ApiGroupApi": { "type": "object", "required": [ "uuid" ], "properties": { "uuid": { "type": "string", "description": "The uuid of the API to associate with the specified group." } } }, "Apis": { "type": "array", "items": { "$ref": "#/definitions/Api" }, "xml": { "name": "Apis" } }, "Api": { "description": "A representation of an Api", "allOf": [ { "$ref": "#/definitions/ApiBasic" }, { "type": "object", "properties": { "Description": { "type": "string", "maxLength": 65000, "description": "Description of the API. Developers see only the public description. Ensure that the public description includes any information that developers require to use the API, such as its authentication requirements." }, "PrivateDescription": { "type": "string", "maxLength": 65000, "description": "The private description of the API." }, "PublishedByPortal": { "type": "boolean", "description": "Indicates whether the API was published via the portal (true) or the gateway (false)." }, "PortalStatus": { "type": "string", "enum": [ "ENABLED", "DISABLED", "DEPRECATED" ], "description": "Indicates the status of the API. Applications that use an enabled API can still use the API when it is deprecated. However, you cannot add a deprecated API to an application. It sets the PortalStatus to ENABLED when created for the first time." }, "AuthenticationParameters": { "type": "string", "description": "The escaped JSON string containing the values to be pre-populated in the API Explorer Authentication side-bar" }, "SsgServiceType": { "type": "string", "enum": [ "REST", "SOAP" ], "description": "Indicates the type of the API." }, "SpecFilename": { "type": "string", "description": "Specifies the filename of the Swagger or WADL file that documents the API. If SpecFilename is specified, SpecContent should be specified as well." }, "SpecContent": { "type": "string", "description": "Specifies the type of the specification file (ie Swagger, WADL, Json). The API needs a specification file so that developers can use the API Explorer to understand the API. If SpecContent is specified, SpecFilename should be specified as well." }, "SpecFilesize": { "type": "integer", "description": "The size of the specification file in bytes (1048576)" }, "OrganizationUsage": { "type": "integer", "description": "The number of organizations that have applications that consume this API." }, "ApplicationUsage": { "type": "integer", "description": "The number of applications that consume this API." }, "InSync": { "type": "integer", "description": "Indicates that the version of this API on the portal and on the gateway are the same." }, "Pending": { "type": "integer", "description": "Indicates that the version of this API on the portal has been recently changed and has not yet synced with the version on the gateway yet." }, "ServiceDisruption": { "type": "integer", "description": "Indicates that the version of this API on the portal and the gateway were modified independently and cannot be synced in their current state." }, "CustomFieldValues": { "uniqueItems": true, "description": "Custom Fields add additional metadata to the API. If a Custom Field is required, you must put a value in it when creating or changing an API.", "type": "object", "required": [ "result" ], "properties": { "results": { "type": "array", "items": { "$ref": "#/definitions/CustomFieldValue" } } } }, "PolicyTemplateArguments": { "type": "array", "uniqueItems": true, "items": { "type": "string" }, "description": "Additional fields that are part of the Policy Template. The default fields are debugMode, email, sla, smtpServer and sslEnabled" }, "PossibleStatuses": { "type": "array", "uniqueItems": true, "items": { "type": "string", "enum": [ "DISABLED", "DEPRECATED", "ENABLED" ] }, "description": "The Api statuses that you can switch to." } } } ] }, "ApiBasic": { "type": "object", "required": [ "Uuid", "Name", "Version", "ApiEulaUuid", "AccessStatus", "ApiLocationUrl", "SsgUrl", "PolicyTemplateUuid", "AuthenticationType" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of API which must be unique.", "maxLength": 255 }, "Version": { "type": "string", "description": "The published version of the API. If not specified, it sets the Version to 1.0", "maxLength": 50 }, "ApiEulaUuid": { "type": "string", "description": "The uuid of the End-User License Agreement applied to the API. The EULA of an API currently used by an application/s cannot be changed" }, "AccessStatus": { "type": "string", "enum": [ "PUBLIC", "PRIVATE" ], "description": "Indicates whether the API is public or private. A private API is only available to organizations that have it in their account plan. public APIs are public and available to all organizations. You cannot change the AccessStatus if an application is using the API. If not specified, it sets the default AccessStatus to PRIVATE." }, "SsgUrl": { "type": "string", "description": "The proxy URL. Developers use this URL in their applications to send requests to the API. The SsgUrl must be unique. Only applies if the API is portal published. Once created, it cannot be changed. The proxy URL for Portal Published APIs does not require the / in the beginning and * at the end since those are created in the Gateway. For Gateway Published APIs, the / in the beginning and the * at the end is present in the proxy URL since the value gets set as part of the sync." }, "PolicyTemplateUuid": { "type": "string", "description": "The uuid of the Policy Template applied to the API. Only applies if the API is portal published." }, "AuthenticationType": { "type": "string", "description": "Specifies the Authentication type (for API Explorer usage)." }, "ApiLocationUrl": { "type": "string", "description": "Application calls are forwarded to this url. The url must be valid." }, "OrgUuid": { "type": "string", "description": "The uuid of the Organization that owns this API. It is optional and can be modified." } }, "example": { "Name": "apiName2", "Version": "2", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "PrivateDescription": "", "AccessStatus": "PUBLIC", "Description": "", "SsgUrl": "proxyUrl1", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PolicyTemplateArguments": { "results": [ { "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "ApiUuid": "{{GENERATED_UUID}}", "Name": "debugMode", "Value": "false", "Label": "Debug Mode", "Type": "boolean" }, { "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "ApiUuid": "{{GENERATED_UUID}}", "Name": "sslEnabled", "Value": "false", "Label": "SSL", "Type": "boolean" } ] }, "AuthenticationType": "NONE", "AuthenticationParameters": "{}", "CustomFieldValues": { "results": [ { "Uuid": "{{GENERATED_UUID}}", "EntityUuid": "{{GENERATED_UUID}}", "CustomFieldUuid": "ad3d5f44-133a-44f3-8c10-0e7305feedf0", "Value": "option1" } ] }, "ApiLocationUrl": "here.com", "SpecContent": "data:;base64,ew0KICAic3dhZ2dlciI6ICIyLjAiLA0KICAiaW5mbyI6IHsNCiAgICAidmVyc2lvbiI6ICIxLjAuMCIsDQogICAgInRpdGxlIjogIlN3YWdnZXIgUGV0c3RvcmUiLA0KICAgICJkZXNjcmlwdGlvbiI6ICJBIHNhbXBsZSBBUEkgdGhhdCB1c2VzIGEgcGV0c3RvcmUgYXMgYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSBmZWF0dXJlcyBpbiB0aGUgc3dhZ2dlci0yLjAgc3BlY2lmaWNhdGlvbiIsDQogICAgInRlcm1zT2ZTZXJ2aWNlIjogImh0dHA6Ly9zd2FnZ2VyLmlvL3Rlcm1zLyIsDQogICAgImNvbnRhY3QiOiB7DQogICAgICAibmFtZSI6ICJTd2FnZ2VyIEFQSSBUZWFtIg0KICAgIH0sDQogICAgImxpY2Vuc2UiOiB7DQogICAgICAibmFtZSI6ICJNSVQiDQogICAgfQ0KICB9LA0KICAiaG9zdCI6ICJwZXRzdG9yZS5zd2FnZ2VyLmlvIiwNCiAgImJhc2VQYXRoIjogIi9hcGkiLA0KICAic2NoZW1lcyI6IFsNCiAgICAiaHR0cCINCiAgXSwNCiAgImNvbnN1bWVzIjogWw0KICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICBdLA0KICAicHJvZHVjZXMiOiBbDQogICAgImFwcGxpY2F0aW9uL2pzb24iDQogIF0sDQogICJwYXRocyI6IHsNCiAgICAiL3BldHMiOiB7DQogICAgICAiZ2V0Ijogew0KICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyBhbGwgcGV0cyBmcm9tIHRoZSBzeXN0ZW0gdGhhdCB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIiwNCiAgICAgICAgInByb2R1Y2VzIjogWw0KICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICAgICAgICBdLA0KICAgICAgICAicmVzcG9uc2VzIjogew0KICAgICAgICAgICIyMDAiOiB7DQogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBsaXN0IG9mIHBldHMuIiwNCiAgICAgICAgICAgICJzY2hlbWEiOiB7DQogICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwNCiAgICAgICAgICAgICAgIml0ZW1zIjogew0KICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUGV0Ig0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9LA0KICAiZGVmaW5pdGlvbnMiOiB7DQogICAgIlBldCI6IHsNCiAgICAgICJ0eXBlIjogIm9iamVjdCIsDQogICAgICAicmVxdWlyZWQiOiBbDQogICAgICAgICJpZCIsDQogICAgICAgICJuYW1lIg0KICAgICAgXSwNCiAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAiaWQiOiB7DQogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsDQogICAgICAgICAgImZvcm1hdCI6ICJpbnQ2NCINCiAgICAgICAgfSwNCiAgICAgICAgIm5hbWUiOiB7DQogICAgICAgICAgInR5cGUiOiAic3RyaW5nIg0KICAgICAgICB9LA0KICAgICAgICAidGFnIjogew0KICAgICAgICAgICJ0eXBlIjogInN0cmluZyINCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ==", "SpecFilename": "swagger.json", "SpecFilesize": 1438, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "Uuid": "{{GENERATED_GUID}}" } }, "ApiUpdate": { "type": "object", "required": [ "Uuid", "Name", "Version", "PublishedByPortal", "ApiEulaUuid", "AccessStatus", "PortalStatus", "ApiLocationUrl", "SsgUrl", "PolicyTemplateUuid", "AuthenticationType" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122. Change this UUID to the API UUID you want to update." }, "Name": { "type": "string", "description": "Name of API which must be unique.", "maxLength": 255 }, "Version": { "type": "string", "description": "The published version of the API.", "maxLength": 50 }, "PublishedByPortal": { "type": "boolean", "description": "Indicates whether the API was published via the portal (true) or the gateway (false)." }, "ApiEulaUuid": { "type": "string", "description": "The uuid of the End-User License Agreement applied to the API. The EULA of an API currently used by an application/s cannot be changed" }, "AccessStatus": { "type": "string", "enum": [ "PUBLIC", "PRIVATE" ], "description": "Indicates whether the API is public or private. A private API is only available to organizations that have it in their account plan. public APIs are public and available to all organizations. You cannot change the AccessStatus if an application is using the API." }, "PortalStatus": { "type": "string", "enum": [ "ENABLED", "DISABLED", "DEPRECATED" ], "description": "Indicates the status of the API. Applications that use an enabled API can still use the API when it is deprecated. However, you cannot add a deprecated API to an application." }, "SsgUrl": { "type": "string", "description": "The proxy URL. Developers use this URL in their applications to send requests to the API. The SsgUrl must be unique. Only applies if the API is portal published. Once created, it cannot be changed. The proxy URL for Portal Published APIs does not require the / in the beginning and * at the end since those are created in the Gateway. For Gateway Published APIs, the / in the beginning and the * at the end is present in the proxy URL since the value gets set as part of the sync." }, "PolicyTemplateUuid": { "type": "string", "description": "The uuid of the Policy Template applied to the API. Only applies if the API is portal published." }, "OrgUuid": { "type": "string", "description": "The uuid of the Organization that owns this API. It is optional and can be modified." }, "AuthenticationType": { "type": "string", "description": "Specifies the Authentication type (for API Explorer usage). Only applies if the API is portal published. You can choose a different AuthenticationType or change the values with the existing AuthenticationType." }, "ApiLocationUrl": { "type": "string", "description": "Application calls are forwarded to this url. The url must be valid. Only applies if the API is portal published." } }, "example": { "Uuid": "UUID_OF_API", "Name": "apiName2", "Version": "2", "PublishedByPortal": true, "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "PrivateDescription": "", "PortalStatus": "ENABLED", "AccessStatus": "PUBLIC", "Description": "", "SsgUrl": "proxyUrl1", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PolicyTemplateArguments": { "results": [ { "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "ApiUuid": "{{GENERATED_UUID}}", "Name": "debugMode", "Value": "false", "Label": "Debug Mode", "Type": "boolean" }, { "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "ApiUuid": "{{GENERATED_UUID}}", "Name": "sslEnabled", "Value": "false", "Label": "SSL", "Type": "boolean" } ] }, "AuthenticationType": "NONE", "AuthenticationParameters": "{}", "CustomFieldValues": { "results": [] }, "ApiLocationUrl": "here.com", "SpecContent": "data:;base64,ew0KICAic3dhZ2dlciI6ICIyLjAiLA0KICAiaW5mbyI6IHsNCiAgICAidmVyc2lvbiI6ICIxLjAuMCIsDQogICAgInRpdGxlIjogIlN3YWdnZXIgUGV0c3RvcmUiLA0KICAgICJkZXNjcmlwdGlvbiI6ICJBIHNhbXBsZSBBUEkgdGhhdCB1c2VzIGEgcGV0c3RvcmUgYXMgYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSBmZWF0dXJlcyBpbiB0aGUgc3dhZ2dlci0yLjAgc3BlY2lmaWNhdGlvbiIsDQogICAgInRlcm1zT2ZTZXJ2aWNlIjogImh0dHA6Ly9zd2FnZ2VyLmlvL3Rlcm1zLyIsDQogICAgImNvbnRhY3QiOiB7DQogICAgICAibmFtZSI6ICJTd2FnZ2VyIEFQSSBUZWFtIg0KICAgIH0sDQogICAgImxpY2Vuc2UiOiB7DQogICAgICAibmFtZSI6ICJNSVQiDQogICAgfQ0KICB9LA0KICAiaG9zdCI6ICJwZXRzdG9yZS5zd2FnZ2VyLmlvIiwNCiAgImJhc2VQYXRoIjogIi9hcGkiLA0KICAic2NoZW1lcyI6IFsNCiAgICAiaHR0cCINCiAgXSwNCiAgImNvbnN1bWVzIjogWw0KICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICBdLA0KICAicHJvZHVjZXMiOiBbDQogICAgImFwcGxpY2F0aW9uL2pzb24iDQogIF0sDQogICJwYXRocyI6IHsNCiAgICAiL3BldHMiOiB7DQogICAgICAiZ2V0Ijogew0KICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyBhbGwgcGV0cyBmcm9tIHRoZSBzeXN0ZW0gdGhhdCB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIiwNCiAgICAgICAgInByb2R1Y2VzIjogWw0KICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICAgICAgICBdLA0KICAgICAgICAicmVzcG9uc2VzIjogew0KICAgICAgICAgICIyMDAiOiB7DQogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBsaXN0IG9mIHBldHMuIiwNCiAgICAgICAgICAgICJzY2hlbWEiOiB7DQogICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwNCiAgICAgICAgICAgICAgIml0ZW1zIjogew0KICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUGV0Ig0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9LA0KICAiZGVmaW5pdGlvbnMiOiB7DQogICAgIlBldCI6IHsNCiAgICAgICJ0eXBlIjogIm9iamVjdCIsDQogICAgICAicmVxdWlyZWQiOiBbDQogICAgICAgICJpZCIsDQogICAgICAgICJuYW1lIg0KICAgICAgXSwNCiAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAiaWQiOiB7DQogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsDQogICAgICAgICAgImZvcm1hdCI6ICJpbnQ2NCINCiAgICAgICAgfSwNCiAgICAgICAgIm5hbWUiOiB7DQogICAgICAgICAgInR5cGUiOiAic3RyaW5nIg0KICAgICAgICB9LA0KICAgICAgICAidGFnIjogew0KICAgICAgICAgICJ0eXBlIjogInN0cmluZyINCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ==", "SpecFilename": "swagger.json", "SpecFilesize": 1438, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db" } }, "ApisGet": { "type": "object", "allOf": [ { "$ref": "#/definitions/ListBasic" }, { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/definitions/ApiGetBasic" } } } }, { "$ref": "#/definitions/LinksBasic" } ] }, "ApiGetBasic": { "description": "A representation of an Api using Get", "type": "object", "properties": { "uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "name": { "type": "string", "description": "Name of API which must be unique.", "maxLength": 255 }, "description": { "type": "string", "description": "Description of the API. Developers see only the public description. Ensure that the public description includes any information that developers require to use the API, such as its authentication requirements.", "maxLength": 65000 }, "accessStatus": { "type": "string", "description": "Indicates whether the API is public or private. A private API is only available to organizations that have it in their account plan. public APIs are public and available to all organizations. You cannot change the AccessStatus if an application is using the API. If not specified, it sets the default AccessStatus to PRIVATE.", "enum": [ "PUBLIC", "PRIVATE" ] }, "specFilename": { "type": "string", "description": "Specifies the filename of the Swagger or WADL file that documents the API. If SpecFilename is specified, SpecContent should be specified as well." }, "orgUuid": { "type": "string", "description": "The uuid of the organization that the API belongs to.The organization can be changed." }, "apiEulaUuid": { "type": "string", "description": "The uuid of the End-User License Agreement applied to the API. The EULA of an API currently used by an application/s cannot be change" } } }, "ApiGet": { "type": "object", "allOf": [ { "$ref": "#/definitions/ApiGetBasic" }, { "type": "object", "properties": { "portalStatus": { "type": "string", "description": "Indicates the status of the API. Applications that use an enabled API can still use the API when it is deprecated. However, you cannot add a deprecated API to an application. It sets the PortalStatus to ENABLED when created for the first time.", "enum": [ "ENABLED", "DISABLED", "DEPRECATED" ] }, "publishedByPortal": { "type": "boolean", "description": "Indicates whether the API was published via the portal (true) or the gateway (false)." }, "privateDescription": { "type": "string", "description": "The private description of the API.", "maxLength": 65000 }, "version": { "type": "string", "description": "The published version of the API. If not specified, it sets the Version to 1.0", "maxLength": 50 }, "ssgUrl": { "type": "string", "description": "The proxy URL. Developers use this URL in their applications to send requests to the API. The SsgUrl must be unique. Only applies if the API is portal published. Once created, it cannot be changed. The proxy URL for Portal Published APIs does not require the / in the beginning and * at the end since those are created in the Gateway. For Gateway Published APIs, the / in the beginning and the * at the end is present in the proxy URL since the value gets set as part of the sync." }, "specFilesize": { "type": "integer", "description": "The size of the specification file in bytes (1048576)" }, "locationUrl": { "type": "string", "description": "Application calls are forwarded to this url. The url must be valid." }, "authenticationType": { "type": "string", "description": "Specifies the authentication type (for API Explorer usage)." }, "authenticationParameters": { "type": "string", "description": "The escaped JSON string containing the values to be pre-populated in the API Explorer Authentication side-bar" }, "createTs": { "type": "integer", "description": "The time that the api is created." }, "modifyTs": { "type": "integer", "description": "The time that the api is last modified." }, "policyEntities": { "type": "array", "items": { "type": "object", "properties": { "policyEntityUuid": { "type": "string", "description": "The uuid of the Policy Entity applied to this API or Application instance." }, "policyTemplateArguments": { "type": "array", "description": "Additional fields that are part of the Policy Template. The default fields are debugMode, email, sla, smtpServer and sslEnabled.", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } } } } }, "customFieldValues": { "description": "Custom Fields add additional metadata to the API. If a Custom Field is required, you must put a value in it when creating or changing an API.", "type": "array", "items": { "type": "object", "properties": { "uuid": { "type": "string" }, "customFieldUuid": { "type": "string", "description": "The uuid of the Custom Field entity applied to this API or Application instance." }, "value": { "type": "string" } } } }, "possibleStatuses": { "type": "array", "description": "The Api statuses that you can switch to.", "items": { "type": "string", "enum": [ "DISABLED", "DEPRECATED", "ENABLED" ] } } } }, { "$ref": "#/definitions/LinksApi" } ] }, "ApiUsage": { "type": "object", "properties": { "apiGroupUsage": { "type": "integer", "description": "The number of api groups that use the api" }, "directAppUsage": { "type": "integer", "description": "The number of apps that directly use the api" }, "indirectAppUsage": { "type": "integer", "description": "The number of apps that indirectly (via apigroups) use the api" } } }, "Api2.0s": { "type": "array", "items": { "$ref": "#/definitions/Api2.0" } }, "Api2.0": { "allOf": [ { "$ref": "#/definitions/Api2.0Basic" }, { "type": "object", "properties": { "Description": { "type": "string", "description": "Description of the API. Developers see only the public description. Ensure that the public description includes any information that developers require to use the API, such as its authentication requirements.", "maxLength": 65000 }, "PrivateDescription": { "type": "string", "description": "The private description of the API.", "maxLength": 65000 }, "PublishedByPortal": { "type": "boolean", "description": "Indicates whether the API was published via the portal (true) or the gateway (false)." }, "PortalStatus": { "type": "string", "description": "Indicates the status of the API. Applications that use an enabled API can still use the API when it is deprecated. However, you cannot add a deprecated API to an application. It sets the PortalStatus to ENABLED when created for the first time.", "enum": [ "ENABLED", "DISABLED", "DEPRECATED" ] }, "AuthenticationParameters": { "type": "string", "description": "The escaped JSON string containing the values to be pre-populated in the API Explorer Authentication side-bar" }, "SsgServiceType": { "type": "string", "description": "Indicates the type of the API.", "enum": [ "REST", "SOAP" ] }, "SpecFilename": { "type": "string", "description": "Specifies the filename of the Swagger or WADL file that documents the API. If SpecFilename is specified, SpecContent should be specified as well." }, "SpecContent": { "type": "string", "description": "Specifies the type of the specification file (ie Swagger, WADL, Json). The API needs a specification file so that developers can use the API Explorer to understand the API. If SpecContent is specified, SpecFilename should be specified as well." }, "SpecFilesize": { "type": "integer", "description": "The size of the specification file in bytes (1048576)" }, "OrganizationUsage": { "type": "integer", "description": "The number of organizations that have applications that consume this API." }, "ApplicationUsage": { "type": "integer", "description": "The number of applications that consume this API." }, "InSync": { "type": "integer", "description": "Indicates that the version of this API on the portal and on the gateway are the same." }, "Pending": { "type": "integer", "description": "Indicates that the version of this API on the portal has been recently changed and has not yet synced with the version on the gateway yet." }, "ServiceDisruption": { "type": "integer", "description": "Indicates that the version of this API on the portal and the gateway were modified independently and cannot be synced in their current state." }, "CustomFieldValues": { "description": "Custom Fields add additional metadata to the API. If a Custom Field is required, you must put a value in it when creating or changing an API.", "type": "object", "required": [ "result" ], "properties": { "results": { "type": "array", "items": { "$ref": "#/definitions/CustomFieldValue" } } } }, "PossibleStatuses": { "type": "array", "description": "The Api statuses that you can switch to.", "items": { "type": "string", "enum": [ "DISABLED", "DEPRECATED", "ENABLED" ] } } } } ], "description": "A representation of an Api2.0" }, "Api2.0Basic": { "type": "object", "required": [ "AccessStatus", "ApiEulaUuid", "ApiLocationUrl", "AuthenticationType", "Name", "SsgUrl", "Uuid", "Version", "PolicyEntities" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of API which must be unique.", "maxLength": 255 }, "Version": { "type": "string", "description": "The published version of the API. If not specified, it sets the Version to 1.0", "maxLength": 50 }, "ApiEulaUuid": { "type": "string", "description": "The uuid of the End-User License Agreement applied to the API. The EULA of an API currently used by an application/s cannot be changed" }, "AccessStatus": { "type": "string", "description": "Indicates whether the API is public or private. A private API is only available to organizations that have it in their account plan. public APIs are public and available to all organizations. You cannot change the AccessStatus if an application is using the API. If not specified, it sets the default AccessStatus to PRIVATE.", "enum": [ "PUBLIC", "PRIVATE" ] }, "SsgUrl": { "type": "string", "description": "The proxy URL. Developers use this URL in their applications to send requests to the API. The SsgUrl must be unique. Only applies if the API is portal published. Once created, it cannot be changed. The proxy URL for Portal Published APIs does not require the / in the beginning and * at the end since those are created in the Gateway. For Gateway Published APIs, the / in the beginning and the * at the end is present in the proxy URL since the value gets set as part of the sync." }, "AuthenticationType": { "type": "string", "description": "Specifies the Authentication type (for API Explorer usage)." }, "ApiLocationUrl": { "type": "string", "description": "Application calls are forwarded to this url. The url must be valid." }, "OrgUuid": { "type": "string", "description": "The uuid of the Organization that owns this API. It is optional and can be modified." }, "PolicyEntities": { "type": "array", "description": "Multiple Policy Entities may be assigned which may contain multiple PolicyTemplateArguments.", "items": { "$ref": "#/definitions/PolicyEntity" } } }, "example": { "Name": "apiName2", "Version": "2", "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "PrivateDescription": "", "AccessStatus": "PUBLIC", "Description": "", "SsgUrl": "proxyUrl1", "PolicyEntities": { "results": [ { "PolicyEntityUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PolicyTemplateArguments": { "results": [ { "Type": "boolean", "ApiUuid": "{{GENERATED_GUID}}", "Label": "Debug Mode", "Value": "true", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "Name": "debugMode" }, { "Type": "string", "ApiUuid": "{{GENERATED_GUID}}", "Label": "Email (SLA notifications will be sent to this address)", "Value": "Test Value 311719", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "Name": "email" }, { "Type": "int", "ApiUuid": "{{GENERATED_GUID}}", "Label": "SLA (ms)", "Value": "411928", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "Name": "sla" }, { "Type": "string", "ApiUuid": "{{GENERATED_GUID}}", "Label": "SMTP Server (your email gateway)", "Value": "Test Value 202774", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "Name": "smtpServer" }, { "Type": "boolean", "ApiUuid": "{{GENERATED_GUID}}", "Label": "SSL", "Value": "false", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "Name": "sslEnabled" } ] } }, { "PolicyEntityUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "PolicyTemplateArguments": { "results": [ { "Type": "boolean", "ApiUuid": "{{GENERATED_GUID}}", "Label": "Debug Mode", "Value": "false", "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "Name": "debugMode" }, { "Type": "string", "ApiUuid": "{{GENERATED_GUID}}", "Label": "Email (SLA notifications will be sent to this address)", "Value": "Test Value 888266", "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "Name": "email" }, { "Type": "int", "ApiUuid": "{{GENERATED_GUID}}", "Label": "SLA (ms)", "Value": "414353", "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "Name": "sla" }, { "Type": "string", "ApiUuid": "{{GENERATED_GUID}}", "Label": "SMTP Server (your email gateway)", "Value": "Test Value 414571", "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "Name": "smtpServer" }, { "Type": "boolean", "ApiUuid": "{{GENERATED_GUID}}", "Label": "SSL", "Value": "true", "PolicyTemplateUuid": "172594b6-18ba-4b0c-8d61-807db457e81d", "Name": "sslEnabled" } ] } } ] }, "AuthenticationType": "NONE", "AuthenticationParameters": "{}", "CustomFieldValues": { "results": [ { "Uuid": "{{GENERATED_UUID}}", "EntityUuid": "{{GENERATED_UUID}}", "CustomFieldUuid": "ad3d5f44-133a-44f3-8c10-0e7305feedf0", "Value": "option1" } ] }, "ApiLocationUrl": "here.com", "SpecContent": "data:;base64,ew0KICAic3dhZ2dlciI6ICIyLjAiLA0KICAiaW5mbyI6IHsNCiAgICAidmVyc2lvbiI6ICIxLjAuMCIsDQogICAgInRpdGxlIjogIlN3YWdnZXIgUGV0c3RvcmUiLA0KICAgICJkZXNjcmlwdGlvbiI6ICJBIHNhbXBsZSBBUEkgdGhhdCB1c2VzIGEgcGV0c3RvcmUgYXMgYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSBmZWF0dXJlcyBpbiB0aGUgc3dhZ2dlci0yLjAgc3BlY2lmaWNhdGlvbiIsDQogICAgInRlcm1zT2ZTZXJ2aWNlIjogImh0dHA6Ly9zd2FnZ2VyLmlvL3Rlcm1zLyIsDQogICAgImNvbnRhY3QiOiB7DQogICAgICAibmFtZSI6ICJTd2FnZ2VyIEFQSSBUZWFtIg0KICAgIH0sDQogICAgImxpY2Vuc2UiOiB7DQogICAgICAibmFtZSI6ICJNSVQiDQogICAgfQ0KICB9LA0KICAiaG9zdCI6ICJwZXRzdG9yZS5zd2FnZ2VyLmlvIiwNCiAgImJhc2VQYXRoIjogIi9hcGkiLA0KICAic2NoZW1lcyI6IFsNCiAgICAiaHR0cCINCiAgXSwNCiAgImNvbnN1bWVzIjogWw0KICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICBdLA0KICAicHJvZHVjZXMiOiBbDQogICAgImFwcGxpY2F0aW9uL2pzb24iDQogIF0sDQogICJwYXRocyI6IHsNCiAgICAiL3BldHMiOiB7DQogICAgICAiZ2V0Ijogew0KICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyBhbGwgcGV0cyBmcm9tIHRoZSBzeXN0ZW0gdGhhdCB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIiwNCiAgICAgICAgInByb2R1Y2VzIjogWw0KICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICAgICAgICBdLA0KICAgICAgICAicmVzcG9uc2VzIjogew0KICAgICAgICAgICIyMDAiOiB7DQogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBsaXN0IG9mIHBldHMuIiwNCiAgICAgICAgICAgICJzY2hlbWEiOiB7DQogICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwNCiAgICAgICAgICAgICAgIml0ZW1zIjogew0KICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUGV0Ig0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9LA0KICAiZGVmaW5pdGlvbnMiOiB7DQogICAgIlBldCI6IHsNCiAgICAgICJ0eXBlIjogIm9iamVjdCIsDQogICAgICAicmVxdWlyZWQiOiBbDQogICAgICAgICJpZCIsDQogICAgICAgICJuYW1lIg0KICAgICAgXSwNCiAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAiaWQiOiB7DQogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsDQogICAgICAgICAgImZvcm1hdCI6ICJpbnQ2NCINCiAgICAgICAgfSwNCiAgICAgICAgIm5hbWUiOiB7DQogICAgICAgICAgInR5cGUiOiAic3RyaW5nIg0KICAgICAgICB9LA0KICAgICAgICAidGFnIjogew0KICAgICAgICAgICJ0eXBlIjogInN0cmluZyINCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ==", "SpecFilename": "swagger.json", "SpecFilesize": 1438, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "Uuid": "{{GENERATED_GUID}}" } }, "Api2.0Update": { "type": "object", "required": [ "AccessStatus", "ApiEulaUuid", "ApiLocationUrl", "AuthenticationType", "Name", "PolicyEntities", "PortalStatus", "PublishedByPortal", "SsgUrl", "Uuid", "Version" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122. Change this UUID to the API UUID you want to update." }, "Name": { "type": "string", "description": "Name of API which must be unique.", "maxLength": 255 }, "Version": { "type": "string", "description": "The published version of the API.", "maxLength": 50 }, "PublishedByPortal": { "type": "boolean", "description": "Indicates whether the API was published via the portal (true) or the gateway (false)." }, "ApiEulaUuid": { "type": "string", "description": "The uuid of the End-User License Agreement applied to the API. The EULA of an API currently used by an application/s cannot be changed" }, "AccessStatus": { "type": "string", "description": "Indicates whether the API is public or private. A private API is only available to organizations that have it in their account plan. public APIs are public and available to all organizations. You cannot change the AccessStatus if an application is using the API.", "enum": [ "PUBLIC", "PRIVATE" ] }, "PortalStatus": { "type": "string", "description": "Indicates the status of the API. Applications that use an enabled API can still use the API when it is deprecated. However, you cannot add a deprecated API to an application.", "enum": [ "ENABLED", "DISABLED", "DEPRECATED" ] }, "SsgUrl": { "type": "string", "description": "The proxy URL. Developers use this URL in their applications to send requests to the API. The SsgUrl must be unique. Only applies if the API is portal published. Once created, it cannot be changed. The proxy URL for Portal Published APIs does not require the / in the beginning and * at the end since those are created in the Gateway. For Gateway Published APIs, the / in the beginning and the * at the end is present in the proxy URL since the value gets set as part of the sync." }, "OrgUuid": { "type": "string", "description": "The uuid of the Organization that owns this API. It is optional and can be modified." }, "AuthenticationType": { "type": "string", "description": "Specifies the Authentication type (for API Explorer usage). Only applies if the API is portal published. You can choose a different AuthenticationType or change the values with the existing AuthenticationType." }, "ApiLocationUrl": { "type": "string", "description": "Application calls are forwarded to this url. The url must be valid. Only applies if the API is portal published." }, "PolicyEntities": { "type": "array", "description": "Multiple Policy Entities may be assigned which may contain multiple Policy Arguments.", "items": { "$ref": "#/definitions/PolicyEntity" } } }, "example": { "Uuid": "UUID_OF_API", "Name": "apiName2", "Version": "2", "PublishedByPortal": true, "ApiEulaUuid": "c9406345-eb76-11e3-b0cd-000nosaj86a8", "PrivateDescription": "", "PortalStatus": "ENABLED", "AccessStatus": "PUBLIC", "Description": "", "SsgUrl": "proxyUrl1", "PolicyEntities": { "results": [ { "PolicyEntityUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "PolicyTemplateArguments": { "results": [ { "Type": "boolean", "ApiUuid": "{{GENERATED_GUID}}", "Label": "Debug Mode", "Value": "true", "PolicyTemplateUuid": "72093738-871a-45bd-b114-ad3a61893ac0", "Name": "debugMode" } ] } } ] }, "AuthenticationType": "NONE", "AuthenticationParameters": "{}", "CustomFieldValues": { "results": [] }, "ApiLocationUrl": "here.com", "SpecContent": "data:;base64,ew0KICAic3dhZ2dlciI6ICIyLjAiLA0KICAiaW5mbyI6IHsNCiAgICAidmVyc2lvbiI6ICIxLjAuMCIsDQogICAgInRpdGxlIjogIlN3YWdnZXIgUGV0c3RvcmUiLA0KICAgICJkZXNjcmlwdGlvbiI6ICJBIHNhbXBsZSBBUEkgdGhhdCB1c2VzIGEgcGV0c3RvcmUgYXMgYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSBmZWF0dXJlcyBpbiB0aGUgc3dhZ2dlci0yLjAgc3BlY2lmaWNhdGlvbiIsDQogICAgInRlcm1zT2ZTZXJ2aWNlIjogImh0dHA6Ly9zd2FnZ2VyLmlvL3Rlcm1zLyIsDQogICAgImNvbnRhY3QiOiB7DQogICAgICAibmFtZSI6ICJTd2FnZ2VyIEFQSSBUZWFtIg0KICAgIH0sDQogICAgImxpY2Vuc2UiOiB7DQogICAgICAibmFtZSI6ICJNSVQiDQogICAgfQ0KICB9LA0KICAiaG9zdCI6ICJwZXRzdG9yZS5zd2FnZ2VyLmlvIiwNCiAgImJhc2VQYXRoIjogIi9hcGkiLA0KICAic2NoZW1lcyI6IFsNCiAgICAiaHR0cCINCiAgXSwNCiAgImNvbnN1bWVzIjogWw0KICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICBdLA0KICAicHJvZHVjZXMiOiBbDQogICAgImFwcGxpY2F0aW9uL2pzb24iDQogIF0sDQogICJwYXRocyI6IHsNCiAgICAiL3BldHMiOiB7DQogICAgICAiZ2V0Ijogew0KICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyBhbGwgcGV0cyBmcm9tIHRoZSBzeXN0ZW0gdGhhdCB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIiwNCiAgICAgICAgInByb2R1Y2VzIjogWw0KICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIg0KICAgICAgICBdLA0KICAgICAgICAicmVzcG9uc2VzIjogew0KICAgICAgICAgICIyMDAiOiB7DQogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBsaXN0IG9mIHBldHMuIiwNCiAgICAgICAgICAgICJzY2hlbWEiOiB7DQogICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwNCiAgICAgICAgICAgICAgIml0ZW1zIjogew0KICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUGV0Ig0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9LA0KICAiZGVmaW5pdGlvbnMiOiB7DQogICAgIlBldCI6IHsNCiAgICAgICJ0eXBlIjogIm9iamVjdCIsDQogICAgICAicmVxdWlyZWQiOiBbDQogICAgICAgICJpZCIsDQogICAgICAgICJuYW1lIg0KICAgICAgXSwNCiAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAiaWQiOiB7DQogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsDQogICAgICAgICAgImZvcm1hdCI6ICJpbnQ2NCINCiAgICAgICAgfSwNCiAgICAgICAgIm5hbWUiOiB7DQogICAgICAgICAgInR5cGUiOiAic3RyaW5nIg0KICAgICAgICB9LA0KICAgICAgICAidGFnIjogew0KICAgICAgICAgICJ0eXBlIjogInN0cmluZyINCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ==", "SpecFilename": "swagger.json", "SpecFilesize": 1438, "OrgUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db" } }, "ApplicationsGet": { "type": "object", "allOf": [ { "$ref": "#/definitions/ListBasic" }, { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/definitions/ApplicationGet" } } } }, { "$ref": "#/definitions/LinksBasic" } ] }, "ApplicationGet": { "type": "object", "properties": { "uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "name": { "type": "string", "description": "Name of Application which must be unique.", "maxLength": 50 }, "status": { "type": "string", "enum": [ "ENABLED", "DISABLED" ] }, "organizationUuid": { "type": "string", "description": "The uuid of the Organization that owns this Application. Once added into an application, it cannot be changed." }, "organizationName": { "type": "string", "description": "The name of the organization that the application belongs to." } } }, "Applications": { "type": "array", "items": { "$ref": "#/definitions/Application" }, "xml": { "name": "Applications" } }, "ApplicationUpdate": { "allOf": [ { "$ref": "#/definitions/Application" }, { "type": "object", "required": [ "OrganizationName", "Status" ], "properties": { "OrganizationName": { "type": "string", "description": "The name of the Organization that owns this Application. Once added into an application, it cannot be changed." }, "Status": { "type": "string", "enum": [ "ENABLED", "DISABLED" ], "description": "Indicates whether the Application is currently active or not. A disabled Application cannot be used to access APIs." } } }, { "example": { "Uuid": "UUID_OF_APP", "Name": "my updated app", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "Description": "Public description of my new app, now updated", "Status": "ENABLED", "OauthScope": "", "OauthCallbackUrl": "https://myportal.dev.ca.com/admin/oauthCallback", "OauthType": "confidential", "MagScope": "oob", "ApiKey": "l7xx67167af2f7b1417480cc5824a298c7f2", "KeySecret": "aee5f76d3b43420eb24129af3a66b62a", "MagMasterKey": "99e78c83-02d6-4c8b-8e55-eb0db53ae789", "ApiIds": { "results": [ "1e544644-7e3a-402c-9b50-f1af4a77bbbf", "538f3e7c-6e17-47a6-9903-1dcee3e3d3f3" ] }, "ApiGroupIds": { "results": [ "8b2f796e-2d3f-482c-85d7-30420109f170" ] }, "CustomFieldValues": { "results": [ { "Uuid": "6d0a1735-3821-4516-a8ad-aa6961d882ae", "EntityUuid": "UUID_OF_APP", "CustomFieldUuid": "ad3d5f44-133a-44f3-8c10-0e7305feedf2", "Value": "Staging" } ] } } } ], "xml": { "name": "ApplicationUpdate" } }, "ApplicationCreate": { "allOf": [ { "$ref": "#/definitions/Application" }, { "type": "object", "required": [ "OrganizationName" ], "properties": { "OrganizationName": { "type": "string", "description": "The name of the Organization that owns this Application. Once added into an application, it cannot be changed." } } }, { "example": { "Uuid": "{{GENERATED_GUID}}", "Name": "my new app", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "Description": "Public description of my new app", "ApiKey": "l70851d2cb5af6413e84270af7bfa3bbb2", "KeySecret": "863ec9da07f04214ba444f0a8cd7f546", "OauthScope": "", "OauthCallbackUrl": "", "MagMasterKey": "66003f84-824e-45cd-8c3a-48693cc60ba5", "MagScope": "oob", "OauthType": "", "ApiIds": { "results": [ "1e544644-7e3a-402c-9b50-f1af4a77bbbf" ] }, "ApiGroupIds": { "results": [ "8b2f796e-2d3f-482c-85d7-30420109f170" ] }, "CustomFieldValues": { "results": [ { "Uuid": "{{GENERATED_UUID}}", "EntityUuid": "{{GENERATED_UUID}}", "CustomFieldUuid": "ad3d5f44-133a-44f3-8c10-0e7305feedf2", "Value": "Staging" } ] } } } ], "xml": { "name": "ApplicationCreate" } }, "Application": { "type": "object", "required": [ "Uuid", "Name", "OrganizationUuid" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of Application which must be unique.", "maxLength": 50 }, "OrganizationName": { "type": "string", "description": "The name of the Organization that owns this Application. Once added into an application, it cannot be changed." }, "OrganizationUuid": { "type": "string", "description": "The uuid of the Organization that owns this Application. Once added into an application, it cannot be changed." }, "Description": { "type": "string", "maxLength": 65000 }, "Status": { "type": "string", "enum": [ "ENABLED", "DISABLED" ], "description": "Indicates whether the Application is currently active or not. A disabled Application cannot be used to access APIs." }, "DisabledByType": { "type": "string", "enum": [ "INTERNAL", "EXTERNAL" ], "description": "If the Application has been set to a DISABLED status, this property identifies the type of the user who change the status." }, "OauthScope": { "type": "string", "description": "If you enter multiple scope values, separate them with spaces.", "maxLength": 255 }, "OauthCallbackUrl": { "type": "string", "description": "If you enter multiple callback URLs, separate them with commas.", "maxLength": 255 }, "ApiKey": { "type": "string", "description": "The API Proxy generates a unique API key after adding an application. Later, the developers must add the API key to the application so that the application can use the APIs. Once added into an application, it cannot be changed." }, "KeySecret": { "type": "string", "description": "A key between the Application and it's containing API/APIs. Once added into an application, it cannot be changed." }, "MagMasterKey": { "type": "string", "description": "The API Proxy generates a unique Master client key to be used for Mobile SSO feature in the Mobile Access Gateway after adding an application. Later, the developers must add this key to the MAG SDK application so that the application can use the APIs. Once added into an application, it cannot be changed." }, "MagScope": { "type": "string", "description": "The MAG scope field is for scope or feature to be enabled with the Mobile SSO authentication. If you enter multiple scope values, separate them with spaces.", "maxLength": 1024 }, "OauthType": { "type": "string", "enum": [ "null", "public", "confidential" ], "description": "The OAuth 2.0 client type this Application conforms to. Set the type to Public or Confidential, depending on the OAuth requirements of the APIs." }, "Reason": { "type": "string" }, "ApiIds": { "description": "A list of API Ids that this Application uses. An Application should have at least one API or API Group attached to it. Only APIs that are enabled can be added into an Application. ", "type": "object", "required": [ "result" ], "properties": { "results": { "type": "array", "items": { "type": "string" } } } }, "ApiGroupIds": { "description": "A list of API Group Ids that this Application uses. An Application should have at least one API or API Group attached to it. Only API group that are enabled and contains all enabled APIs in same Organization as Application can be added into an Application. ", "type": "object", "required": [ "result" ], "properties": { "results": { "type": "array", "items": { "type": "string" } } } }, "CustomFieldValues": { "uniqueItems": true, "description": "Custom Fields add additional metadata to the Application. If a Custom Field is required, you must put a value in it when creating or changing an Application.", "type": "object", "required": [ "result" ], "properties": { "results": { "type": "array", "items": { "$ref": "#/definitions/CustomFieldValue" } } } } } }, "CustomFields": { "type": "array", "items": { "$ref": "#/definitions/CustomField" }, "xml": { "name": "CustomFields" } }, "CustomField": { "type": "object", "required": [ "Uuid", "Name", "Type", "Status", "EntityType", "Required", "OptionsList" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of Custom Field which must be unique. Only supports alphanumerical characters and spaces.", "maxLength": 50 }, "Status": { "type": "string", "enum": [ "ENABLED", "DISABLED" ], "description": "Indicates if the Custom Field is active. A disabled Custom Field cannot be applied to an API or Application." }, "Required": { "type": "boolean", "description": "Indicates if the Custom Field must have a value or not if it has been added to an API or Application." }, "Description": { "type": "string", "maxLength": 65000 }, "Type": { "type": "string", "enum": [ "SINGLE_SELECT", "TEXT" ], "description": "The type of values that are allowed for the Custom Field. SINGLE_SELECT indicates that the value must be one specified in the OptionsList property. TEXT has a maximum of 5000 characters." }, "EntityType": { "type": "string", "description": "The Entity Type that the Custom Field belongs to which is API or APPLICATION." }, "OptionsList": { "type": "object", "description": "A list of valid values for the Custom Field when Type is set to SINGLE_SELECT. At least one option should be supplied. The maximum length of the value is 255 characters" } } }, "CustomFieldPut": { "allOf": [ { "$ref": "#/definitions/CustomField" }, { "example": { "Name": "cf", "Uuid": "e18bec62-c731-4dac-825c-35f57b12a971", "Status": "ENABLED", "Required": true, "Description": "", "Type": "SINGLE_SELECT", "EntityType": "API", "OptionsList": { "results": [ { "Value": "a", "Ordinal": 0 } ] } } } ] }, "CustomFieldPost": { "allOf": [ { "$ref": "#/definitions/CustomField" }, { "example": { "Uuid": "{{GENERATED_GUID}}", "Name": "cf", "Status": "ENABLED", "Required": true, "Description": "", "Type": "SINGLE_SELECT", "EntityType": "API", "OptionsList": { "results": [ { "Value": "a", "Ordinal": 0 } ] } } } ] }, "CustomFieldValue": { "type": "object", "title": "Custom Field Value", "required": [ "Uuid", "CustomFieldUuid", "EntityUuid", "value" ], "properties": { "Uuid": { "type": "string" }, "CustomFieldUuid": { "type": "string", "description": "The uuid of the Custom Field entity applied to this API or Application instance." }, "EntityUuid": { "type": "string", "description": "The uuid of this API or Application. Used to reference the API or Application instance from the Custom Field instance." }, "value": { "type": "string", "description": "The value applied to this Custom Field instance." } } }, "Languages": { "type": "array", "items": { "$ref": "#/definitions/Language" }, "xml": { "name": "Languages" }, "description": "A list of language names and codes available." }, "Language": { "type": "object", "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "name": { "type": "string", "maxLength": 50, "description": "The human-readible name of the Language." } } }, "ListBasic": { "type": "object", "required": [ "totalPages", "pageSize", "currentPage", "totalElements" ], "properties": { "totalPages": { "type": "integer" }, "pageSize": { "type": "integer" }, "currentPage": { "type": "integer" }, "totalElements": { "type": "integer" } } }, "LinksApi": { "type": "object", "properties": { "_links": { "$ref": "#/definitions/LinksApisBody" } } }, "LinksApisBody": { "type": "object", "allOf": [ { "$ref": "#/definitions/LinkBasicBody" }, { "type": "object", "properties": { "apiUsage": { "type": "object", "properties": { "href": { "type": "string" } } } } } ] }, "LinksBasic": { "type": "object", "properties": { "_links": { "$ref": "#/definitions/LinkBasicBody" } } }, "LinkBasicBody": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string" } } } } }, "Organizations": { "type": "object", "xml": { "name": "Organizations" }, "allOf": [ { "$ref": "#/definitions/ListBasic" }, { "type": "object", "properties": { "result": { "$ref": "#/definitions/OrganizationList" } } }, { "$ref": "#/definitions/LinksBasic" } ] }, "OrganizationList": { "type": "array", "items": { "$ref": "#/definitions/OrganizationGet" } }, "OrganizationGet": { "type": "object", "properties": { "uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "tenantId": { "type": "string", "description": "the tenantId that the organization belongs to." }, "name": { "type": "string", "description": "Name of the Organization must be unique.", "maxLength": 50 }, "description": { "type": "string", "maxLength": 65000 }, "status": { "type": "string", "description": "The status of an organization." }, "accountPlanUuid": { "type": "string", "description": "The Account Plan assigned to the Organization." } } }, "Organization": { "description": "A representation of an Organization", "allOf": [ { "$ref": "#/definitions/OrganizationBasic" }, { "type": "object", "properties": { "ApplicationUsage": { "type": "integer", "description": "The number of Applications that are owned by this Organization." }, "PrivateApiUsage": { "type": "integer", "description": "The number of Private APIs that the account plan of the organization has." }, "UserUsage": { "type": "integer", "description": "The number of Users that are assigned to this Organization." }, "PrivateAppUsage": { "type": "integer", "description": "The number of Private APIs used by an Application in the Organization. If no private app is in use, then it is safe to change the account plan." }, "Status": { "type": "string", "enum": [ "ENABLED", "DISABLED" ], "description": "Indicates if the Organization is active. A disabled Organization cannot have new Users or Applications assigned to it." } } } ] }, "OrganizationBasic": { "type": "object", "required": [ "Uuid", "Name", "AccountPlanUuid", "Status" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "description": "Name of the Organization must be unique.", "maxLength": 50 }, "Description": { "type": "string", "maxLength": 65000 }, "AccountPlanUuid": { "type": "string", "description": "The Account Plan assigned to the Organization." }, "Status": { "type": "string", "description": "The status of an organization." } }, "example": { "Name": "testorganization", "AccountPlanUuid": "00000001-9362-11e3-b742-000drahcir00", "Description": "testorganization", "Uuid": "{{GENERATED_GUID}}", "Status": "ENABLED" } }, "PolicyEntity": { "type": "object", "title": "Policy Entity", "required": [ "PolicyEntityUuid" ], "properties": { "Uuid": { "type": "string" }, "PolicyEntityUuid": { "type": "string", "description": "The Uuid of the Policy Entity applied to this API or Application instance." }, "PolicyTemplateArguments": { "type": "array", "description": "Additional fields that are part of the Policy Template. The default fields are debugMode, email, sla, smtpServer and sslEnabled.", "items": { "$ref": "#/definitions/PolicyTemplateArguments" } } } }, "PolicyTemplates": { "type": "object", "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "encassId": { "type": "string", "description": "The encapsulation assertion ID of the policy template in the gateway" }, "name": { "type": "string", "description": "Name of Policy Template which must be unique.", "maxLength": 50 }, "description": { "type": "string" }, "policyGuid": { "type": "string", "description": "The policy GUID of the policy template in the gateway." }, "fragmentDetails": { "$ref": "#/definitions/PolicyTemplateFragmentDetails" }, "arguments": { "type": "array", "items": { "$ref": "#/definitions/PolicyTemplateArguments" } } }, "xml": { "name": "PolicyTemplates" } }, "PolicyTemplateArguments": { "type": "object", "title": "Policy Template Arguments", "properties": { "name": { "type": "string" }, "type": { "type": "string", "description": "type of the parameter (e.g. string, boolean, int)" }, "label": { "type": "string" }, "ApiPolicyEntityXrefUuid": { "type": "string" }, "ApiUuid": { "type": "string" }, "Value": { "type": "string" }, "PolicyTemplateUuid": { "type": "string" }, "Uuid": { "type": "string" } } }, "PolicyTemplateFragmentDetails": { "type": "object", "title": "Policy Template Fragment Details", "properties": { "hasRouting": { "type": "boolean" }, "parsedPolicyDetails": { "type": "string" } } }, "Requests": { "type": "array", "items": { "$ref": "#/definitions/Request" }, "xml": { "name": "Requests" } }, "Request": { "type": "object", "properties": { "Action": { "type": "string", "enum": [ "ACCEPT", "REJECT" ], "description": "Provides Administrators and API Owners with the ability to accept or reject a Developer Request" }, "EntityUuid": { "type": "string", "description": "The uuid of the resource that the Developer Request is being made for. For Registration Requests, this identifies an Organization Admin User that will have been created as part of the request process. For an Application Request this identifies an Application that will have been created as part of the request process. In both cases the associated resource cannot be used until the Developer Request has been approved. For Registration Requests the requesting user will also need to complete the registration process" }, "OrganizationName": { "type": "string", "description": "The name of the associated Organization" }, "OrganizationUuid": { "type": "string", "description": "The Uuid of the associated Organization" }, "Payload": { "type": "string", "description": "Applicable for Application Requests that are created when a developer makes changes to an existing application. This JSON formatted attribute provides a full representation of the Application with the proposed changes. The changes are only applied to the Application if the Developer Request is approved" }, "PreviousState": { "type": "string", "description": "Applicable for Application Requests that are created when a developer makes changes to an existing application. Identifies the last know state of the application before the changes were made" }, "Reason": { "type": "string", "description": "Provides an explanation as to why a Developer Request was rejected" }, "RequestStatus": { "type": "string", "description": "The current status of the Developer Request", "enum": [ "PENDING", "ACCEPTED", "REJECTED", "REJECT_CONFIRMED" ] }, "RequestType": { "type": "string", "description": "The type of Developer Request", "enum": [ "REGISTRATION", "APPLICATION" ] }, "Uuid": { "type": "string", "description": "The Uuid of the Developer Request" } } }, "Search": { "allOf": [ { "$ref": "#/definitions/SearchBasic" }, { "type": "object", "properties": { "pageNumber": { "type": "integer", "description": "Current page number" }, "last": { "type": "boolean", "description": "true if this is the last page of search results" }, "numberOfElements": { "type": "integer", "description": "Number of elements being shown on the current page" }, "totalElements": { "type": "integer", "description": "Total number of elements that match" }, "maxElementsPerPage": { "type": "integer", "description": "The limit being applied to the current page" }, "totalPages": { "type": "integer", "description": "Total number of result pages" } } } ] }, "SearchBasic": { "type": "object", "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." } } }, "RoleTypes": { "type": "array", "items": { "$ref": "#/definitions/RoleType" } }, "RoleType": { "type": "object", "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "name": { "type": "string", "description": "Name of RoleType which must be unique.", "maxLength": 50 } } }, "Users": { "type": "array", "items": { "$ref": "#/definitions/User" }, "xml": { "name": "Users" } }, "UserPost": { "allOf": [ { "$ref": "#/definitions/UserBasic" }, { "example": { "Uuid": "{{GENERATED_GUID}}", "FirstName": "Test", "LastName": "User", "Username": "testuser", "Email": "test.user@example.com", "RoleUuid": "00000005-0005-0005-0005-000000000005", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "NotifyUser": true, "Locale": "en" } } ] }, "UserPut": { "allOf": [ { "$ref": "#/definitions/UserBasic" }, { "type": "object", "required": [ "Status" ], "properties": { "Status": { "type": "string", "enum": [ "ENABLED", "DISABLED", "LOCKED", "REGISTRATION_INIT" ], "description": "Whether this User account is active or not. Users with a status of DISABLED cannot logon to the portal. Users get a LOCKED status when they try to log into the portal using the same username and an incorrect password 5 times. Users who received a LOCKED status can be changed by an admin to an enabled or disabled state. They can also reset their password using the reset password link on the main page to change their status back to ENABLED. The REGISTRATION_INIT status indicates that the user needs to register themselves in order to be an ENABLED user." } } }, { "example": { "Uuid": "UUID_OF_USER", "FirstName": "Test", "LastName": "User", "Username": "testuser", "Email": "test.user@example.com", "RoleUuid": "00000005-0005-0005-0005-000000000005", "OrganizationUuid": "4c35f9cd-8eb2-11e3-ae6b-000c2911a4db", "NotifyUser": true, "Locale": "en", "Status": "ENABLED" } } ] }, "User": { "description": "A representation of a User including password and derived values", "allOf": [ { "$ref": "#/definitions/UserBasic" }, { "type": "object", "properties": { "Fullname": { "type": "string", "description": "The User's full name (First and Last name fields upon creation)." }, "RoleName": { "type": "string", "description": "Name of the role assigned to the User: portaladministrators, acctmanagers, busmanagers, apiowners, devorgadministrators, developers, webadministrators and devops. " }, "RoleDescription": { "type": "string" }, "RoleType": { "type": "string", "enum": [ "INTERNAL", "EXTERNAL" ], "description": "Whether the User is assigned to the tenant (INTERNAL) or a third-party organization (EXTERNAL)." }, "OrganizationName": { "type": "string", "description": "Name of the Organization the User is assigned to, if any. Org Admin and Developer roles must belong to an Organization." }, "Status": { "type": "string", "enum": [ "ENABLED", "DISABLED", "LOCKED", "REGISTRATION_INIT" ], "description": "Whether this User account is active or not. Users with a status of DISABLED cannot logon to the portal. Users get a LOCKED status when they try to log into the portal using the same username and an incorrect password 5 times. Users who received a LOCKED status can be changed by an admin to an enabled or disabled state. They can also reset their password using the reset password link on the main page to change their status back to ENABLED. The REGISTRATION_INIT status indicates that the user needs to register themselves in order to be an ENABLED user." } } } ] }, "UserBasic": { "type": "object", "required": [ "Uuid", "FirstName", "LastName", "Username", "Email", "RoleUuid", "NotifyUser", "Locale" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "FirstName": { "type": "string", "description": "The User's first name.", "maxLength": 60 }, "LastName": { "type": "string", "description": "The User's last name.", "maxLength": 60 }, "Username": { "type": "string", "description": "The unique username that the User will use to logon to the portal. It must not contain spaces.", "maxLength": 60 }, "Email": { "type": "string", "description": "The User's email address.", "maxLength": 254 }, "RoleUuid": { "type": "string", "description": "The uuid of the RoleType that this User has been assigned." }, "OrganizationUuid": { "type": "string", "description": "The uuid of the Organization that this User belongs to, if any. The Org Admin and Developer user must belong to an Organization." }, "NotifyUser": { "type": "boolean", "description": "Indicates whether the User was / will be sent an email which contains an activation link for their user account." }, "Locale": { "type": "string", "description": "The language that this user will see the portal translated into." } } }, "Setting": { "type": "object", "required": [ "Uuid", "Name", "Value" ], "properties": { "Uuid": { "type": "string", "description": "Unique key for this entity which conforms to the UUID standard according to RFC 4122." }, "Name": { "type": "string", "enum": [ "GOOGLE_ANALYTICS_ID", "ACTIVATE_MSSO", "EDIT_APPLICATION_REQUEST_WORKFLOW", "APP_EDIT_WF_EXCLUDE_PROPS", "APPLICATION_REQUEST_WORKFLOW" ], "description": "Setting Name.\n\n Supported names at this time: \n GOOGLE_ANALYTICS_ID: google analytics account id;\n ACTIVATE_MSSO: enable/disable single signon. Values (true, false);\n APPLICATION_REQUEST_WORKFLOW: enable/disable new applications approval workflow, Values (ENABLED, DISABLED);\n EDIT_APPLICATION_REQUEST_WORKFLOW: enable/disable existing applications approval workflow, Values (ENABLED, DISABLED);\n APP_EDIT_WF_EXCLUDE_PROPS: workflow excluded fields, Sample ({\"Fields\":[\"Name\",\"Description\",\"Status\"],\"CustomFields\":[\"MyCustomField\",\"AnotherCustomField\"]});", "maxLength": 80 }, "Value": { "type": "string", "description": "Setting Value.", "maxLength": 65000 } }, "example": { "Uuid": "UUID_OF_SETTING", "Name": "GOOGLE_ANALYTICS_ID", "Value": "VALUE_OF_SETTING" } }, "SpecContent": { "type": "object", "properties": { "swagger": { "type": "string", "description": "version of swagger file" } }, "example": { "swagger": "2.0" } }, "Theme": { "description": "A representation of a Theme.", "type": "object", "required": [ "logo", "favicon", "siteTitle", "color", "typography", "fontSize", "display" ], "properties": { "logo": { "type": "string", "description": "Base64 string of portal logo.", "maxLength": 716800 }, "favicon": { "type": "string", "description": "Base64 string of portal favicon.", "maxLength": 716800 }, "siteTitle": { "type": "string" }, "color": { "type": "object", "required": [ "siteTitle", "pageTitle", "background", "bodyText", "link", "linkHover", "smallText", "borderColor", "primaryButtonBackground", "primaryButtonText", "primaryButtonHover", "headerBackground", "headerLink", "footerBackground", "footerText", "footerLink" ], "properties": { "siteTitle": { "type": "string" }, "pageTitle": { "type": "string" }, "background": { "type": "string" }, "bodyText": { "type": "string" }, "link": { "type": "string" }, "linkHover": { "type": "string" }, "smallText": { "type": "string" }, "borderColor": { "type": "string" }, "primaryButtonBackground": { "type": "string" }, "primaryButtonText": { "type": "string" }, "primaryButtonHover": { "type": "string" }, "headerBackground": { "type": "string" }, "headerLink": { "type": "string" }, "footerBackground": { "type": "string" }, "footerText": { "type": "string" }, "footerLink": { "type": "string" } } }, "typography": { "type": "object", "required": [ "siteTitle", "pageTitle", "bodyText", "smallText", "footerText", "buttonText" ], "properties": { "siteTitle": { "type": "string" }, "pageTitle": { "type": "string" }, "bodyText": { "type": "string" }, "smallText": { "type": "string" }, "footerText": { "type": "string" }, "buttonText": { "type": "string" } } }, "fontSize": { "type": "object", "required": [ "siteTitle", "pageTitle", "bodyText", "smallText", "footerText", "buttonText" ], "properties": { "siteTitle": { "type": "string" }, "pageTitle": { "type": "string" }, "bodyText": { "type": "string" }, "smallText": { "type": "string" }, "footerText": { "type": "string" }, "buttonText": { "type": "string" } } }, "display":{ "type": "object", "required": [ "version" ], "properties": { "versionNumber": { "type":"boolean" } } } } }, "LongerError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/LongErrorBody" } } }, "LongErrorBody": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "$ref": "#/definitions/Message" }, "detail": { "$ref": "#/definitions/LongErrorBodyDetail" } } }, "LongErrorBodyDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/ErrorDetail" }, { "$ref": "#/definitions/ValidationErrors" } ] }, "error": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ErrorBody" } } }, "ErrorBody": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "$ref": "#/definitions/Message" } } }, "Message": { "type": "object", "properties": { "lang": { "type": "string" }, "value": { "type": "string" } } }, "ErrorDetail": { "type": "object", "properties": { "errorCode": { "type": "string" }, "devErrorMessage": { "type": "string" }, "userErrorMessage": { "type": "string" }, "userErrorKey": { "type": "string" } } }, "ValidationErrors": { "type": "object", "properties": { "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "error": { "type": "string" }, "key": { "type": "string" } } } } } }, "ErrorEntity": { "allOf": [ { "$ref": "#/definitions/ErrorBody" }, { "type": "object", "properties": { "detail": { "$ref": "#/definitions/ErrorDetail" } } } ] }, "ProxyDeployCreateDto": { "type": "object", "required": [ "deploymentType", "name" ], "properties": { "deploymentType": { "type": "string", "description": "deployment type for the proxy", "enum": [ "AUTOMATIC", "ON_DEMAND", "MANUAL" ] }, "name": { "type": "string", "description": "name of the proxy" }, "uuid": { "type": "string" } } }, "proxy": { "type": "object", "required": [ "deploymentType", "enrollmentStatus", "name" ], "properties": { "deploymentType": { "type": "string", "description": "The deployment type for the proxy.", "enum": [ "AUTOMATIC", "ON_DEMAND", "MANUAL" ] }, "enrollmentStatus": { "type": "string", "description": "The current enrollment status." }, "enrollmentUrl": { "type": "string", "description": "The enrollment URL for the proxy, only available if proxy is in status PENDING." }, "name": { "type": "string", "description": "The name of the proxy." }, "uuid": { "type": "string", "description": "The UUID of the proxy." } } }, "apiGroup": { "type": "object", "required": [ "name", "status" ], "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "uuid": { "type": "string" } } }, "ApiDeployUpdateDto": { "type": "object", "required": [ "status" ], "properties": { "message": { "type": "string", "description": "The API deployment message which can be used to communicate details relating to the status of the deployment." }, "status": { "type": "string", "description": "The status of API deployment.", "enum": [ "DEPLOYED", "PENDING_DEPLOYMENT", "ERROR", "PENDING_UNDEPLOYMENT" ] } } }, "ProxyDeployUpdateDto": { "type": "object", "required": [ "deploymentType", "name" ], "properties": { "deploymentType": { "type": "string", "description": "The deployment type for the proxy.", "enum": [ "AUTOMATIC", "ON_DEMAND", "MANUAL" ] }, "name": { "type": "string", "description": "The name of the proxy." } } }, "ApiDeployDto": { "type": "object", "properties": { "apiUuid": { "type": "string", "description": "The UUID of the API for the deployment." }, "lastTimeDeployed": { "type": "integer", "format": "int64", "description": "The timestamp of last attempted API deployment." }, "message": { "type": "string", "description": "The API deployment message which can be used to communicate details relating to the status of the deployment." }, "proxyName": { "type": "string", "description": "The name of the proxy for the deployment." }, "proxyUuid": { "type": "string", "description": "The UUID of the proxy for the deployment." }, "status": { "type": "string", "description": "The status of API deployment.", "enum": [ "DEPLOYED", "PENDING_DEPLOYMENT", "ERROR", "PENDING_UNDEPLOYMENT" ] } } }, "ApiDeployCreateDto": { "type": "object", "properties": { "proxyUuid": { "type": "string", "description": "The UUID of the proxy for the deployment." } } } }, "responses": { "BadRequest": { "description": "Bad Request due to a validation error.", "schema": { "$ref": "#/definitions/error" }, "examples": { "application/json;charset=UTF-8": { "error": { "code": "BadRequestException", "message": { "lang": "en-US", "value": "The request could not be completed due to data input errors." } } } } }, "InvalidUuid": { "description": "Bad Request due to Invalid Uuid.", "schema": { "$ref": "#/definitions/LongerError" }, "examples": { "application/json;charset=UTF-8": { "error": { "code": "ValidationException", "message": { "lang": "en", "value": "The request could not be completed due to data input errors." }, "detail": { "errorCode": 483, "devErrorMessage": "The request could not be completed due to data input errors.", "userErrorMessage": "The request could not be completed due to data input error.", "userErrorKey": "error.validation.entity", "validationErrors": [ { "field": "path_variable_uuid", "error": "Value is not a valid UUID.", "key": "Value is not a valid UUID." } ] } } } } }, "InvalidParameters": { "description": "Bad Request due to Invalid Parameters.", "schema": { "$ref": "#/definitions/LongerError" }, "examples": { "application/json;charset=UTF-8": { "error": { "code": "ValidationException", "message": { "lang": "en", "value": "The request could not be completed due to data input errors." }, "detail": { "errorCode": 483, "devErrorMessage": "The request could not be completed due to data input errors.", "userErrorMessage": "The request could not be completed due to data input error.", "userErrorKey": "error.validation.entity", "validationErrors": [ { "field": "portalStatus", "error": "Invalid value. This is not permitted.", "key": "Invalid value. This is not permitted." } ] } } } } }, "NotFoundEntity": { "description": "Entity not Found", "schema": { "$ref": "#/definitions/ErrorEntity" }, "examples": { "application/json;charset=UTF-8": { "error": { "code": "ValidationException", "message": { "lang": "en", "value": "3e1c39af-e051-50ab-8cea-50ae886041bd not found." }, "detail": { "errorCode": 505, "devErrorMessage": "3e1c39af-e051-50ab-8cea-50ae886041bd not found.", "userErrorMessage": "3e1c39af-e051-50ab-8cea-50ae886041bd not found.", "userErrorKey": "error.resource.not.found" } } } } }, "NotFound": { "description": "Entity not found", "schema": { "$ref": "#/definitions/error" }, "examples": { "error": { "code": "NotFoundException", "message": { "lang": "en-US", "value": "Not Found" } } } }, "InternalServerError": { "description": "Internal Server Error. Certain fields are missing from the request.", "schema": { "$ref": "#/definitions/error" }, "examples": { "application/json;charset=UTF-8": { "error": { "code": "ServerErrorException", "message": { "lang": "en-US", "value": "Internal Server Error" } } } } } }, "tags": [ { "name": "AccountPlans", "description": "Account Plan operations" }, { "name": "ApiDeployments", "description": "API Deployment operations" }, { "name": "ApiEulas", "description": "API End User License Agreement operations" }, { "name": "ApiGroups", "description": "API Group operations" }, { "name": "Apis", "description": "API operations" }, { "name": "Applications", "description": "Application operations" }, { "name": "CustomFields", "description": "Custom Field operations" }, { "name": "Organizations", "description": "Organization operations" }, { "name": "Proxies", "description": "Proxy operations" }, { "name": "Requests", "description": "Request operations" }, { "name": "Resources", "description": "Resource operations" }, { "name": "Search", "description": "Search services" }, { "name": "Settings", "description": "Settings operations" }, { "name": "Themes", "description": "Theme operations" }, { "name": "Users", "description": "User operations" } ] }