APIPromotion

Summary

API promotion package.

Description

Encapsulates an API promotion package. This package can be used to promote an API from one system to another.

Fields

Field Name Type Since Version Description
frontend FrontendExport Frontend API export.
backend BackendExport Backend API export.
exportVersion Int Export version

Example JSON

{
  "frontend" : {
    "apis" : [ {
      "id" : "bacb827e-e555-43fa-b006-50c7404aa990",
      "organizationId" : "b6889722b7-222-b06f-2eaaf1548898",
      "apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
      "name" : "My virtualized API",
      "version" : "1.0",
      "vhost" : "host.company.com",
      "path" : "/flikr",
      "descriptionType" : "manual",
      "descriptionManual" : "My API\n====\n\nThis is my API.",
      "descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/flickr/flickr.md",
      "descriptionUrl" : "http://doc.api.org/myapi/mymethod#anchor",
      "summary" : "My API\n====\n\nThis is my API.",
      "retired" : false,
      "expired" : false,
      "image" : "resources/photo.jpg",
      "retirementDate" : 1364287486876,
      "deprecated" : true,
      "state" : "unpublished",
      "createdOn" : 1364287486876,
      "createdBy" : "de077cd8-83b7-46d1-b06f-2eaaf1548898",
      "corsProfiles" : [ {
        "name" : "Default Security Profile",
        "isDefault" : false,
        "origins" : [ "http://api.google.com", "http://api.flickr.com" ],
        "allowedHeaders" : [ "X-Request-Value", "X-Hello-World" ],
        "exposedHeaders" : [ "X-Trace", "X-CorrelationID" ],
        "supportCredentials" : false,
        "maxAgeSeconds" : 84600
      } ],
      "securityProfiles" : [ {
        "name" : "Default Security Profile",
        "isDefault" : false,
        "devices" : [ {
          "name" : "My Pass-through Device",
          "type" : "apiKey",
          "order" : 1,
          "properties" : {
            "apiKeyFieldName" : "APIKey",
            "takeFrom" : "HEADER"
          }
        } ]
      } ],
      "authenticationProfiles" : [ {
        "name" : "Default Security Profile",
        "isDefault" : false,
        "parameters" : {
          "apiKey" : "e7812c14-b67a-4eef-84a1-e18c0d8436ba",
          "apiKeyField" : "KeyId",
          "httpLocation" : "query"
        },
        "type" : "apikey"
      } ],
      "inboundProfiles" : {
        "_default" : {
          "securityProfile" : "Default Inbound Security",
          "corsProfile" : "Default CORS profile",
          "monitorAPI" : true,
          "monitorSubject" : "authentication.subject.id"
        }
      },
      "outboundProfiles" : {
        "_default" : {
          "authenticationProfile" : "My Backend",
          "routeType" : "proxy",
          "requestPolicy" : null,
          "responsePolicy" : null,
          "routePolicy" : null,
          "apiId" : "9064396e-7743-4644-a0b7-d30b421e2b30",
          "apiMethodId" : "7fd18d9a-1258-4031-a168-d7f6bf612dc1",
          "parameters" : [ {
            "name" : "id",
            "paramType" : "query",
            "type" : "string",
            "value" : "${params.path.id}",
            "required" : true,
            "exclude" : false,
            "additional" : false
          } ]
        }
      },
      "serviceProfiles" : {
        "_default" : {
          "apiId" : "96f745ae-a41a-41a9-aad8-8bf24b5cc27e",
          "basePath" : "http://backend.io"
        }
      },
      "caCerts" : [ {
        "certBlob" : "YmxvYg==",
        "name" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
        "alias" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
        "subject" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
        "issuer" : "CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US",
        "version" : 3,
        "notValidBefore" : 1364287486876,
        "notValidAfter" : 1364287486876,
        "signatureAlgorithm" : "RSA (2048 bits)",
        "sha1Fingerprint" : "BC:5C:0D:3E:47:58:DF:E8:42:A4:D2:34:C5:D4:97:14:DA:54:F4:CD",
        "md5Fingerprint" : "89:DD:C1:6C:C0:6E:1D:B1:75:0C:48:E5:E6:AC:76:B0",
        "expired" : true,
        "notYetValid" : false,
        "inbound" : false,
        "outbound" : true
      } ],
      "tags" : {
        "Type" : [ "REST" ],
        "Category" : [ "Social Network, Photos" ]
      }
    } ],
    "methods" : [ {
      "id" : "f2a0d13a-51f3-4256-855e-2b1d838a5cd2",
      "virtualizedApiId" : "bacb827e-e555-43fa-b006-50c7404aa990",
      "name" : "MyMethod",
      "apiId" : "ec5e0a01-832b-4ecb-8cae-b35630527bb4",
      "apiMethodId" : "21490aa6-ed14-4059-b8b7-d5bf0dc22dc6",
      "summary" : "This is a summary of my API Method",
      "descriptionType" : "original",
      "descriptionManual" : "This is _my_ API method",
      "descriptionMarkdown" : "${environment.VINSTDIR}/../markdown/myapi/method.md",
      "descriptionUrl" : "https://myapi.org/docs/api#method",
      "tags" : {
        "Category" : [ "Social Network, Photos" ],
        "Type" : [ "REST" ]
      },
      "op" : "MyAPI-1.0:GET:/things"
    } ],
    "backendMethods" : [ {
      "apiId" : "0a275f85-aec2-4100-8f9e-b4e7abdca108",
      "apiMethodId" : "19ec174e-b217-4c60-aa40-c22040569363",
      "op" : "MyAPI-1.0:GET:/things"
    } ],
    "imagedata" : { }
  },
  "backend" : {
    "apiBlobs" : [ {
      "id" : "588c51d8-5b6f-4c2f-b0e8-3eeaf25d1458",
      "type" : "swagger11",
      "blob" : "YmxvYg==",
      "name" : "My API",
      "importURL" : "My API"
    } ]
  },
  "exportVersion" : 1
}