{
  "metadata": {
    "apiVersion": "2016-12-01",
    "endpointPrefix": "pinpoint",
    "signingName": "mobiletargeting",
    "signatureVersion": "v4",
    "serviceFullName": "Amazon Pinpoint",
    "protocol": "rest-json",
    "jsonVersion": "1.1"
  },
  "operations": {
    "CreateCampaign": {
      "http": {
        "requestUri": "/v1/apps/{application-id}/campaigns",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "WriteCampaignRequest": {
            "shape": "S3"
          }
        },
        "required": [
          "ApplicationId",
          "WriteCampaignRequest"
        ],
        "payload": "WriteCampaignRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sj"
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "CreateImportJob": {
      "http": {
        "requestUri": "/v1/apps/{application-id}/jobs/import",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "ImportJobRequest": {
            "type": "structure",
            "members": {
              "DefineSegment": {
                "type": "boolean"
              },
              "ExternalId": {},
              "Format": {},
              "RegisterEndpoints": {
                "type": "boolean"
              },
              "RoleArn": {},
              "S3Url": {},
              "SegmentId": {},
              "SegmentName": {}
            }
          }
        },
        "required": [
          "ApplicationId",
          "ImportJobRequest"
        ],
        "payload": "ImportJobRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "ImportJobResponse": {
            "shape": "Ss"
          }
        },
        "required": [
          "ImportJobResponse"
        ],
        "payload": "ImportJobResponse"
      }
    },
    "CreateSegment": {
      "http": {
        "requestUri": "/v1/apps/{application-id}/segments",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "WriteSegmentRequest": {
            "shape": "Sx"
          }
        },
        "required": [
          "ApplicationId",
          "WriteSegmentRequest"
        ],
        "payload": "WriteSegmentRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S1b"
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    },
    "DeleteApnsChannel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/channels/apns",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSChannelResponse": {
            "shape": "S1h"
          }
        },
        "required": [
          "APNSChannelResponse"
        ],
        "payload": "APNSChannelResponse"
      }
    },
    "DeleteApnsSandboxChannel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/channels/apns_sandbox",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSSandboxChannelResponse": {
            "shape": "S1k"
          }
        },
        "required": [
          "APNSSandboxChannelResponse"
        ],
        "payload": "APNSSandboxChannelResponse"
      }
    },
    "DeleteCampaign": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "CampaignId": {
            "location": "uri",
            "locationName": "campaign-id"
          }
        },
        "required": [
          "CampaignId",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sj"
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "DeleteEmailChannel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/channels/email",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "EmailChannelResponse": {
            "shape": "S1p"
          }
        },
        "required": [
          "EmailChannelResponse"
        ],
        "payload": "EmailChannelResponse"
      }
    },
    "DeleteEventStream": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/eventstream",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "EventStream": {
            "shape": "S1s"
          }
        },
        "required": [
          "EventStream"
        ],
        "payload": "EventStream"
      }
    },
    "DeleteGcmChannel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/channels/gcm",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "GCMChannelResponse": {
            "shape": "S1v"
          }
        },
        "required": [
          "GCMChannelResponse"
        ],
        "payload": "GCMChannelResponse"
      }
    },
    "DeleteSegment": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/segments/{segment-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "SegmentId": {
            "location": "uri",
            "locationName": "segment-id"
          }
        },
        "required": [
          "SegmentId",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S1b"
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    },
    "DeleteSmsChannel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/apps/{application-id}/channels/sms",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SMSChannelResponse": {
            "shape": "S20"
          }
        },
        "required": [
          "SMSChannelResponse"
        ],
        "payload": "SMSChannelResponse"
      }
    },
    "GetApnsChannel": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/channels/apns",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSChannelResponse": {
            "shape": "S1h"
          }
        },
        "required": [
          "APNSChannelResponse"
        ],
        "payload": "APNSChannelResponse"
      }
    },
    "GetApnsSandboxChannel": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/channels/apns_sandbox",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSSandboxChannelResponse": {
            "shape": "S1k"
          }
        },
        "required": [
          "APNSSandboxChannelResponse"
        ],
        "payload": "APNSSandboxChannelResponse"
      }
    },
    "GetApplicationSettings": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/settings",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApplicationSettingsResource": {
            "shape": "S27"
          }
        },
        "required": [
          "ApplicationSettingsResource"
        ],
        "payload": "ApplicationSettingsResource"
      }
    },
    "GetCampaign": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "CampaignId": {
            "location": "uri",
            "locationName": "campaign-id"
          }
        },
        "required": [
          "CampaignId",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sj"
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "GetCampaignActivities": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "CampaignId": {
            "location": "uri",
            "locationName": "campaign-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "ApplicationId",
          "CampaignId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ActivitiesResponse": {
            "type": "structure",
            "members": {
              "Item": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "ApplicationId": {},
                    "CampaignId": {},
                    "End": {},
                    "Id": {},
                    "Result": {},
                    "ScheduledStart": {},
                    "Start": {},
                    "State": {},
                    "SuccessfulEndpointCount": {
                      "type": "integer"
                    },
                    "TimezonesCompletedCount": {
                      "type": "integer"
                    },
                    "TimezonesTotalCount": {
                      "type": "integer"
                    },
                    "TotalEndpointCount": {
                      "type": "integer"
                    },
                    "TreatmentId": {}
                  }
                }
              }
            }
          }
        },
        "required": [
          "ActivitiesResponse"
        ],
        "payload": "ActivitiesResponse"
      }
    },
    "GetCampaignVersion": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "CampaignId": {
            "location": "uri",
            "locationName": "campaign-id"
          },
          "Version": {
            "location": "uri",
            "locationName": "version"
          }
        },
        "required": [
          "Version",
          "ApplicationId",
          "CampaignId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sj"
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "GetCampaignVersions": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "CampaignId": {
            "location": "uri",
            "locationName": "campaign-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "ApplicationId",
          "CampaignId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignsResponse": {
            "shape": "S2j"
          }
        },
        "required": [
          "CampaignsResponse"
        ],
        "payload": "CampaignsResponse"
      }
    },
    "GetCampaigns": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/campaigns",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignsResponse": {
            "shape": "S2j"
          }
        },
        "required": [
          "CampaignsResponse"
        ],
        "payload": "CampaignsResponse"
      }
    },
    "GetEmailChannel": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/channels/email",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "EmailChannelResponse": {
            "shape": "S1p"
          }
        },
        "required": [
          "EmailChannelResponse"
        ],
        "payload": "EmailChannelResponse"
      }
    },
    "GetEndpoint": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "EndpointId": {
            "location": "uri",
            "locationName": "endpoint-id"
          }
        },
        "required": [
          "ApplicationId",
          "EndpointId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "EndpointResponse": {
            "type": "structure",
            "members": {
              "Address": {},
              "ApplicationId": {},
              "Attributes": {
                "shape": "S2s"
              },
              "ChannelType": {},
              "CohortId": {},
              "CreationDate": {},
              "Demographic": {
                "shape": "S2u"
              },
              "EffectiveDate": {},
              "EndpointStatus": {},
              "Id": {},
              "Location": {
                "shape": "S2v"
              },
              "Metrics": {
                "shape": "S2x"
              },
              "OptOut": {},
              "RequestId": {},
              "User": {
                "shape": "S2y"
              },
              "ShardId": {}
            }
          }
        },
        "required": [
          "EndpointResponse"
        ],
        "payload": "EndpointResponse"
      }
    },
    "GetEventStream": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/eventstream",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "EventStream": {
            "shape": "S1s"
          }
        },
        "required": [
          "EventStream"
        ],
        "payload": "EventStream"
      }
    },
    "GetGcmChannel": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/channels/gcm",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "GCMChannelResponse": {
            "shape": "S1v"
          }
        },
        "required": [
          "GCMChannelResponse"
        ],
        "payload": "GCMChannelResponse"
      }
    },
    "GetImportJob": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/jobs/import/{job-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "JobId": {
            "location": "uri",
            "locationName": "job-id"
          }
        },
        "required": [
          "ApplicationId",
          "JobId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ImportJobResponse": {
            "shape": "Ss"
          }
        },
        "required": [
          "ImportJobResponse"
        ],
        "payload": "ImportJobResponse"
      }
    },
    "GetImportJobs": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/jobs/import",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ImportJobsResponse": {
            "shape": "S37"
          }
        },
        "required": [
          "ImportJobsResponse"
        ],
        "payload": "ImportJobsResponse"
      }
    },
    "GetSegment": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/segments/{segment-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "SegmentId": {
            "location": "uri",
            "locationName": "segment-id"
          }
        },
        "required": [
          "SegmentId",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S1b"
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    },
    "GetSegmentImportJobs": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "SegmentId": {
            "location": "uri",
            "locationName": "segment-id"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "SegmentId",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ImportJobsResponse": {
            "shape": "S37"
          }
        },
        "required": [
          "ImportJobsResponse"
        ],
        "payload": "ImportJobsResponse"
      }
    },
    "GetSegmentVersion": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "SegmentId": {
            "location": "uri",
            "locationName": "segment-id"
          },
          "Version": {
            "location": "uri",
            "locationName": "version"
          }
        },
        "required": [
          "SegmentId",
          "Version",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S1b"
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    },
    "GetSegmentVersions": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/versions",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "SegmentId": {
            "location": "uri",
            "locationName": "segment-id"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "SegmentId",
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentsResponse": {
            "shape": "S3h"
          }
        },
        "required": [
          "SegmentsResponse"
        ],
        "payload": "SegmentsResponse"
      }
    },
    "GetSegments": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/segments",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "PageSize": {
            "location": "querystring",
            "locationName": "page-size"
          },
          "Token": {
            "location": "querystring",
            "locationName": "token"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentsResponse": {
            "shape": "S3h"
          }
        },
        "required": [
          "SegmentsResponse"
        ],
        "payload": "SegmentsResponse"
      }
    },
    "GetSmsChannel": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/apps/{application-id}/channels/sms",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "SMSChannelResponse": {
            "shape": "S20"
          }
        },
        "required": [
          "SMSChannelResponse"
        ],
        "payload": "SMSChannelResponse"
      }
    },
    "PutEventStream": {
      "http": {
        "requestUri": "/v1/apps/{application-id}/eventstream",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "WriteEventStream": {
            "type": "structure",
            "members": {
              "DestinationStreamArn": {},
              "ExternalId": {},
              "RoleArn": {}
            }
          }
        },
        "required": [
          "ApplicationId",
          "WriteEventStream"
        ],
        "payload": "WriteEventStream"
      },
      "output": {
        "type": "structure",
        "members": {
          "EventStream": {
            "shape": "S1s"
          }
        },
        "required": [
          "EventStream"
        ],
        "payload": "EventStream"
      }
    },
    "SendMessages": {
      "http": {
        "requestUri": "/v1/apps/{application-id}/messages",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "MessageRequest": {
            "type": "structure",
            "members": {
              "Addresses": {
                "type": "map",
                "key": {},
                "value": {
                  "type": "structure",
                  "members": {
                    "BodyOverride": {},
                    "ChannelType": {},
                    "Context": {
                      "shape": "S3u"
                    },
                    "RawContent": {},
                    "Substitutions": {
                      "shape": "S2s"
                    },
                    "TitleOverride": {}
                  }
                }
              },
              "Context": {
                "shape": "S3u"
              },
              "MessageConfiguration": {
                "type": "structure",
                "members": {
                  "APNSMessage": {
                    "type": "structure",
                    "members": {
                      "Action": {},
                      "Badge": {
                        "type": "integer"
                      },
                      "Body": {},
                      "Category": {},
                      "Data": {
                        "shape": "S3u"
                      },
                      "MediaUrl": {},
                      "RawContent": {},
                      "SilentPush": {
                        "type": "boolean"
                      },
                      "Sound": {},
                      "Substitutions": {
                        "shape": "S2s"
                      },
                      "ThreadId": {},
                      "Title": {},
                      "Url": {}
                    }
                  },
                  "DefaultMessage": {
                    "type": "structure",
                    "members": {
                      "Body": {},
                      "Substitutions": {
                        "shape": "S2s"
                      }
                    }
                  },
                  "DefaultPushNotificationMessage": {
                    "type": "structure",
                    "members": {
                      "Action": {},
                      "Body": {},
                      "Data": {
                        "shape": "S3u"
                      },
                      "SilentPush": {
                        "type": "boolean"
                      },
                      "Substitutions": {
                        "shape": "S2s"
                      },
                      "Title": {},
                      "Url": {}
                    }
                  },
                  "GCMMessage": {
                    "type": "structure",
                    "members": {
                      "Action": {},
                      "Body": {},
                      "CollapseKey": {},
                      "Data": {
                        "shape": "S3u"
                      },
                      "IconReference": {},
                      "ImageIconUrl": {},
                      "ImageUrl": {},
                      "RawContent": {},
                      "RestrictedPackageName": {},
                      "SilentPush": {
                        "type": "boolean"
                      },
                      "SmallImageIconUrl": {},
                      "Sound": {},
                      "Substitutions": {
                        "shape": "S2s"
                      },
                      "Title": {},
                      "Url": {}
                    }
                  },
                  "SMSMessage": {
                    "type": "structure",
                    "members": {
                      "Body": {},
                      "MessageType": {},
                      "SenderId": {},
                      "Substitutions": {
                        "shape": "S2s"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "MessageRequest"
        ],
        "payload": "MessageRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "MessageResponse": {
            "type": "structure",
            "members": {
              "ApplicationId": {},
              "RequestId": {},
              "Result": {
                "type": "map",
                "key": {},
                "value": {
                  "type": "structure",
                  "members": {
                    "DeliveryStatus": {},
                    "StatusCode": {
                      "type": "integer"
                    },
                    "StatusMessage": {},
                    "UpdatedToken": {}
                  }
                }
              }
            }
          }
        },
        "required": [
          "MessageResponse"
        ],
        "payload": "MessageResponse"
      }
    },
    "UpdateApnsChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/channels/apns",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "APNSChannelRequest": {
            "type": "structure",
            "members": {
              "Certificate": {},
              "Enabled": {
                "type": "boolean"
              },
              "PrivateKey": {}
            }
          },
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId",
          "APNSChannelRequest"
        ],
        "payload": "APNSChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSChannelResponse": {
            "shape": "S1h"
          }
        },
        "required": [
          "APNSChannelResponse"
        ],
        "payload": "APNSChannelResponse"
      }
    },
    "UpdateApnsSandboxChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/channels/apns_sandbox",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "APNSSandboxChannelRequest": {
            "type": "structure",
            "members": {
              "Certificate": {},
              "Enabled": {
                "type": "boolean"
              },
              "PrivateKey": {}
            }
          },
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId",
          "APNSSandboxChannelRequest"
        ],
        "payload": "APNSSandboxChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSSandboxChannelResponse": {
            "shape": "S1k"
          }
        },
        "required": [
          "APNSSandboxChannelResponse"
        ],
        "payload": "APNSSandboxChannelResponse"
      }
    },
    "UpdateApplicationSettings": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/settings",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "WriteApplicationSettingsRequest": {
            "type": "structure",
            "members": {
              "Limits": {
                "shape": "Sh"
              },
              "QuietTime": {
                "shape": "Sf"
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "WriteApplicationSettingsRequest"
        ],
        "payload": "WriteApplicationSettingsRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "ApplicationSettingsResource": {
            "shape": "S27"
          }
        },
        "required": [
          "ApplicationSettingsResource"
        ],
        "payload": "ApplicationSettingsResource"
      }
    },
    "UpdateCampaign": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "CampaignId": {
            "location": "uri",
            "locationName": "campaign-id"
          },
          "WriteCampaignRequest": {
            "shape": "S3"
          }
        },
        "required": [
          "CampaignId",
          "ApplicationId",
          "WriteCampaignRequest"
        ],
        "payload": "WriteCampaignRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sj"
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "UpdateEmailChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/channels/email",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "EmailChannelRequest": {
            "type": "structure",
            "members": {
              "Enabled": {
                "type": "boolean"
              },
              "FromAddress": {},
              "Identity": {},
              "RoleArn": {}
            }
          }
        },
        "required": [
          "ApplicationId",
          "EmailChannelRequest"
        ],
        "payload": "EmailChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "EmailChannelResponse": {
            "shape": "S1p"
          }
        },
        "required": [
          "EmailChannelResponse"
        ],
        "payload": "EmailChannelResponse"
      }
    },
    "UpdateEndpoint": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "EndpointId": {
            "location": "uri",
            "locationName": "endpoint-id"
          },
          "EndpointRequest": {
            "type": "structure",
            "members": {
              "Address": {},
              "Attributes": {
                "shape": "S2s"
              },
              "ChannelType": {},
              "Demographic": {
                "shape": "S2u"
              },
              "EffectiveDate": {},
              "EndpointStatus": {},
              "Location": {
                "shape": "S2v"
              },
              "Metrics": {
                "shape": "S2x"
              },
              "OptOut": {},
              "RequestId": {},
              "User": {
                "shape": "S2y"
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "EndpointId",
          "EndpointRequest"
        ],
        "payload": "EndpointRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "MessageBody": {
            "shape": "S4n"
          }
        },
        "required": [
          "MessageBody"
        ],
        "payload": "MessageBody"
      }
    },
    "UpdateEndpointsBatch": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/endpoints",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "EndpointBatchRequest": {
            "type": "structure",
            "members": {
              "Item": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "Address": {},
                    "Attributes": {
                      "shape": "S2s"
                    },
                    "ChannelType": {},
                    "Demographic": {
                      "shape": "S2u"
                    },
                    "EffectiveDate": {},
                    "EndpointStatus": {},
                    "Id": {},
                    "Location": {
                      "shape": "S2v"
                    },
                    "Metrics": {
                      "shape": "S2x"
                    },
                    "OptOut": {},
                    "RequestId": {},
                    "User": {
                      "shape": "S2y"
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "EndpointBatchRequest"
        ],
        "payload": "EndpointBatchRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "MessageBody": {
            "shape": "S4n"
          }
        },
        "required": [
          "MessageBody"
        ],
        "payload": "MessageBody"
      }
    },
    "UpdateGcmChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/channels/gcm",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "GCMChannelRequest": {
            "type": "structure",
            "members": {
              "ApiKey": {},
              "Enabled": {
                "type": "boolean"
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "GCMChannelRequest"
        ],
        "payload": "GCMChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "GCMChannelResponse": {
            "shape": "S1v"
          }
        },
        "required": [
          "GCMChannelResponse"
        ],
        "payload": "GCMChannelResponse"
      }
    },
    "UpdateSegment": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/segments/{segment-id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "SegmentId": {
            "location": "uri",
            "locationName": "segment-id"
          },
          "WriteSegmentRequest": {
            "shape": "Sx"
          }
        },
        "required": [
          "SegmentId",
          "ApplicationId",
          "WriteSegmentRequest"
        ],
        "payload": "WriteSegmentRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S1b"
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    },
    "UpdateSmsChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/channels/sms",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "SMSChannelRequest": {
            "type": "structure",
            "members": {
              "Enabled": {
                "type": "boolean"
              },
              "SenderId": {}
            }
          }
        },
        "required": [
          "ApplicationId",
          "SMSChannelRequest"
        ],
        "payload": "SMSChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "SMSChannelResponse": {
            "shape": "S20"
          }
        },
        "required": [
          "SMSChannelResponse"
        ],
        "payload": "SMSChannelResponse"
      }
    }
  },
  "shapes": {
    "S3": {
      "type": "structure",
      "members": {
        "AdditionalTreatments": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "MessageConfiguration": {
                "shape": "S6"
              },
              "Schedule": {
                "shape": "Sd"
              },
              "SizePercent": {
                "type": "integer"
              },
              "TreatmentDescription": {},
              "TreatmentName": {}
            }
          }
        },
        "Description": {},
        "HoldoutPercent": {
          "type": "integer"
        },
        "IsPaused": {
          "type": "boolean"
        },
        "Limits": {
          "shape": "Sh"
        },
        "MessageConfiguration": {
          "shape": "S6"
        },
        "Name": {},
        "Schedule": {
          "shape": "Sd"
        },
        "SegmentId": {},
        "SegmentVersion": {
          "type": "integer"
        },
        "TreatmentDescription": {},
        "TreatmentName": {}
      }
    },
    "S6": {
      "type": "structure",
      "members": {
        "APNSMessage": {
          "shape": "S7"
        },
        "DefaultMessage": {
          "shape": "S7"
        },
        "EmailMessage": {
          "type": "structure",
          "members": {
            "Body": {},
            "HtmlBody": {},
            "Title": {}
          }
        },
        "GCMMessage": {
          "shape": "S7"
        },
        "SMSMessage": {
          "type": "structure",
          "members": {
            "Body": {},
            "MessageType": {},
            "SenderId": {}
          }
        }
      }
    },
    "S7": {
      "type": "structure",
      "members": {
        "Action": {},
        "Body": {},
        "ImageIconUrl": {},
        "ImageSmallIconUrl": {},
        "ImageUrl": {},
        "JsonBody": {},
        "MediaUrl": {},
        "SilentPush": {
          "type": "boolean"
        },
        "Title": {},
        "Url": {}
      }
    },
    "Sd": {
      "type": "structure",
      "members": {
        "EndTime": {},
        "Frequency": {},
        "IsLocalTime": {
          "type": "boolean"
        },
        "QuietTime": {
          "shape": "Sf"
        },
        "StartTime": {},
        "Timezone": {}
      }
    },
    "Sf": {
      "type": "structure",
      "members": {
        "End": {},
        "Start": {}
      }
    },
    "Sh": {
      "type": "structure",
      "members": {
        "Daily": {
          "type": "integer"
        },
        "Total": {
          "type": "integer"
        }
      }
    },
    "Sj": {
      "type": "structure",
      "members": {
        "AdditionalTreatments": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "Id": {},
              "MessageConfiguration": {
                "shape": "S6"
              },
              "Schedule": {
                "shape": "Sd"
              },
              "SizePercent": {
                "type": "integer"
              },
              "State": {
                "shape": "Sm"
              },
              "TreatmentDescription": {},
              "TreatmentName": {}
            }
          }
        },
        "ApplicationId": {},
        "CreationDate": {},
        "DefaultState": {
          "shape": "Sm"
        },
        "Description": {},
        "HoldoutPercent": {
          "type": "integer"
        },
        "Id": {},
        "IsPaused": {
          "type": "boolean"
        },
        "LastModifiedDate": {},
        "Limits": {
          "shape": "Sh"
        },
        "MessageConfiguration": {
          "shape": "S6"
        },
        "Name": {},
        "Schedule": {
          "shape": "Sd"
        },
        "SegmentId": {},
        "SegmentVersion": {
          "type": "integer"
        },
        "State": {
          "shape": "Sm"
        },
        "TreatmentDescription": {},
        "TreatmentName": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "Sm": {
      "type": "structure",
      "members": {
        "CampaignStatus": {}
      }
    },
    "Ss": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CompletedPieces": {
          "type": "integer"
        },
        "CompletionDate": {},
        "CreationDate": {},
        "Definition": {
          "type": "structure",
          "members": {
            "DefineSegment": {
              "type": "boolean"
            },
            "ExternalId": {},
            "Format": {},
            "RegisterEndpoints": {
              "type": "boolean"
            },
            "RoleArn": {},
            "S3Url": {},
            "SegmentId": {},
            "SegmentName": {}
          }
        },
        "FailedPieces": {
          "type": "integer"
        },
        "Failures": {
          "shape": "Su"
        },
        "Id": {},
        "JobStatus": {},
        "TotalFailures": {
          "type": "integer"
        },
        "TotalPieces": {
          "type": "integer"
        },
        "TotalProcessed": {
          "type": "integer"
        },
        "Type": {}
      }
    },
    "Su": {
      "type": "list",
      "member": {}
    },
    "Sx": {
      "type": "structure",
      "members": {
        "Dimensions": {
          "shape": "Sy"
        },
        "Name": {}
      }
    },
    "Sy": {
      "type": "structure",
      "members": {
        "Attributes": {
          "shape": "Sz"
        },
        "Behavior": {
          "type": "structure",
          "members": {
            "Recency": {
              "type": "structure",
              "members": {
                "Duration": {},
                "RecencyType": {}
              }
            }
          }
        },
        "Demographic": {
          "type": "structure",
          "members": {
            "AppVersion": {
              "shape": "S17"
            },
            "Channel": {
              "shape": "S17"
            },
            "DeviceType": {
              "shape": "S17"
            },
            "Make": {
              "shape": "S17"
            },
            "Model": {
              "shape": "S17"
            },
            "Platform": {
              "shape": "S17"
            }
          }
        },
        "Location": {
          "type": "structure",
          "members": {
            "Country": {
              "shape": "S17"
            }
          }
        },
        "UserAttributes": {
          "shape": "Sz"
        }
      }
    },
    "Sz": {
      "type": "map",
      "key": {},
      "value": {
        "type": "structure",
        "members": {
          "AttributeType": {},
          "Values": {
            "shape": "Su"
          }
        }
      }
    },
    "S17": {
      "type": "structure",
      "members": {
        "DimensionType": {},
        "Values": {
          "shape": "Su"
        }
      }
    },
    "S1b": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Dimensions": {
          "shape": "Sy"
        },
        "Id": {},
        "ImportDefinition": {
          "type": "structure",
          "members": {
            "ChannelCounts": {
              "type": "map",
              "key": {},
              "value": {
                "type": "integer"
              }
            },
            "ExternalId": {},
            "Format": {},
            "RoleArn": {},
            "S3Url": {},
            "Size": {
              "type": "integer"
            }
          }
        },
        "LastModifiedDate": {},
        "Name": {},
        "SegmentType": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1h": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Enabled": {
          "type": "boolean"
        },
        "Id": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1k": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Enabled": {
          "type": "boolean"
        },
        "Id": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1p": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Enabled": {
          "type": "boolean"
        },
        "FromAddress": {},
        "Id": {},
        "Identity": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "RoleArn": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1s": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "DestinationStreamArn": {},
        "ExternalId": {},
        "LastModifiedDate": {},
        "LastUpdatedBy": {},
        "RoleArn": {}
      }
    },
    "S1v": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Credential": {},
        "Enabled": {
          "type": "boolean"
        },
        "Id": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S20": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Enabled": {
          "type": "boolean"
        },
        "Id": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "SenderId": {},
        "ShortCode": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S27": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "LastModifiedDate": {},
        "Limits": {
          "shape": "Sh"
        },
        "QuietTime": {
          "shape": "Sf"
        }
      }
    },
    "S2j": {
      "type": "structure",
      "members": {
        "Item": {
          "type": "list",
          "member": {
            "shape": "Sj"
          }
        },
        "NextToken": {}
      }
    },
    "S2s": {
      "type": "map",
      "key": {},
      "value": {
        "shape": "Su"
      }
    },
    "S2u": {
      "type": "structure",
      "members": {
        "AppVersion": {},
        "Locale": {},
        "Make": {},
        "Model": {},
        "ModelVersion": {},
        "Platform": {},
        "PlatformVersion": {},
        "Timezone": {}
      }
    },
    "S2v": {
      "type": "structure",
      "members": {
        "City": {},
        "Country": {},
        "Latitude": {
          "type": "double"
        },
        "Longitude": {
          "type": "double"
        },
        "PostalCode": {},
        "Region": {}
      }
    },
    "S2x": {
      "type": "map",
      "key": {},
      "value": {
        "type": "double"
      }
    },
    "S2y": {
      "type": "structure",
      "members": {
        "UserAttributes": {
          "shape": "S2s"
        },
        "UserId": {}
      }
    },
    "S37": {
      "type": "structure",
      "members": {
        "Item": {
          "type": "list",
          "member": {
            "shape": "Ss"
          }
        },
        "NextToken": {}
      }
    },
    "S3h": {
      "type": "structure",
      "members": {
        "Item": {
          "type": "list",
          "member": {
            "shape": "S1b"
          }
        },
        "NextToken": {}
      }
    },
    "S3u": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S4n": {
      "type": "structure",
      "members": {
        "Message": {},
        "RequestID": {}
      }
    }
  }
}