{
  "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",
            "payload": true
          }
        },
        "required": [
          "ApplicationId",
          "WriteCampaignRequest"
        ],
        "payload": "WriteCampaignRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sg",
            "payload": true
          }
        },
        "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": {
            "payload": true,
            "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": "Sp",
            "payload": true
          }
        },
        "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": "Su",
            "payload": true
          }
        },
        "required": [
          "ApplicationId",
          "WriteSegmentRequest"
        ],
        "payload": "WriteSegmentRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S18",
            "payload": true
          }
        },
        "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": "S1d",
            "payload": true
          }
        },
        "required": [
          "APNSChannelResponse"
        ],
        "payload": "APNSChannelResponse"
      }
    },
    "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": "Sg",
            "payload": true
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "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": "S1i",
            "payload": true
          }
        },
        "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": "S18",
            "payload": true
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    },
    "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": "S1d",
            "payload": true
          }
        },
        "required": [
          "APNSChannelResponse"
        ],
        "payload": "APNSChannelResponse"
      }
    },
    "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": "S1p",
            "payload": true
          }
        },
        "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": "Sg",
            "payload": true
          }
        },
        "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": {
            "payload": true,
            "type": "structure",
            "members": {
              "Item": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "ApplicationId": {},
                    "CampaignId": {},
                    "End": {},
                    "Id": {},
                    "Result": {},
                    "ScheduledStart": {},
                    "Start": {},
                    "State": {},
                    "SuccessfulEndpointCount": {
                      "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": "Sg",
            "payload": true
          }
        },
        "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": "S21",
            "payload": true
          }
        },
        "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": "S21",
            "payload": true
          }
        },
        "required": [
          "CampaignsResponse"
        ],
        "payload": "CampaignsResponse"
      }
    },
    "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": {
            "payload": true,
            "type": "structure",
            "members": {
              "Address": {},
              "ApplicationId": {},
              "Attributes": {
                "shape": "S28"
              },
              "ChannelType": {},
              "CohortId": {},
              "CreationDate": {},
              "Demographic": {
                "shape": "S2a"
              },
              "EffectiveDate": {},
              "EndpointStatus": {},
              "Id": {},
              "Location": {
                "shape": "S2b"
              },
              "Metrics": {
                "shape": "S2d"
              },
              "OptOut": {},
              "RequestId": {},
              "ShardId": {},
              "User": {
                "shape": "S2e"
              }
            }
          }
        },
        "required": [
          "EndpointResponse"
        ],
        "payload": "EndpointResponse"
      }
    },
    "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": "S1i",
            "payload": true
          }
        },
        "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": "Sp",
            "payload": true
          }
        },
        "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": "S2l",
            "payload": true
          }
        },
        "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": "S18",
            "payload": true
          }
        },
        "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": "S2l",
            "payload": true
          }
        },
        "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": "S18",
            "payload": true
          }
        },
        "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": "S2v",
            "payload": true
          }
        },
        "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": "S2v",
            "payload": true
          }
        },
        "required": [
          "SegmentsResponse"
        ],
        "payload": "SegmentsResponse"
      }
    },
    "UpdateApnsChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/channels/apns",
        "responseCode": "200"
      },
      "input": {
        "type": "structure",
        "members": {
          "APNSChannelRequest": {
            "payload": true,
            "type": "structure",
            "members": {
              "Certificate": {},
              "PrivateKey": {}
            }
          },
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          }
        },
        "required": [
          "ApplicationId",
          "APNSChannelRequest"
        ],
        "payload": "APNSChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "APNSChannelResponse": {
            "shape": "S1d",
            "payload": true
          }
        },
        "required": [
          "APNSChannelResponse"
        ],
        "payload": "APNSChannelResponse"
      }
    },
    "UpdateApplicationSettings": {
      "http": {
        "method": "PUT",
        "requestUri": "/v1/apps/{application-id}/settings",
        "responseCode": "200"
      },
      "input": {
        "type": "structure",
        "members": {
          "ApplicationId": {
            "location": "uri",
            "locationName": "application-id"
          },
          "WriteApplicationSettingsRequest": {
            "payload": true,
            "type": "structure",
            "members": {
              "Limits": {
                "shape": "Se"
              },
              "QuietTime": {
                "shape": "Sc"
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "WriteApplicationSettingsRequest"
        ],
        "payload": "WriteApplicationSettingsRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "ApplicationSettingsResource": {
            "shape": "S1p",
            "payload": true
          }
        },
        "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",
            "payload": true
          }
        },
        "required": [
          "CampaignId",
          "ApplicationId",
          "WriteCampaignRequest"
        ],
        "payload": "WriteCampaignRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "CampaignResponse": {
            "shape": "Sg",
            "payload": true
          }
        },
        "required": [
          "CampaignResponse"
        ],
        "payload": "CampaignResponse"
      }
    },
    "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": {
            "payload": true,
            "type": "structure",
            "members": {
              "Address": {},
              "Attributes": {
                "shape": "S28"
              },
              "ChannelType": {},
              "Demographic": {
                "shape": "S2a"
              },
              "EffectiveDate": {},
              "EndpointStatus": {},
              "Location": {
                "shape": "S2b"
              },
              "Metrics": {
                "shape": "S2d"
              },
              "OptOut": {},
              "RequestId": {},
              "User": {
                "shape": "S2e"
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "EndpointId",
          "EndpointRequest"
        ],
        "payload": "EndpointRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "MessageBody": {
            "shape": "S3a",
            "payload": true
          }
        },
        "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": {
            "payload": true,
            "type": "structure",
            "members": {
              "Item": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "Address": {},
                    "Attributes": {
                      "shape": "S28"
                    },
                    "ChannelType": {},
                    "Demographic": {
                      "shape": "S2a"
                    },
                    "EffectiveDate": {},
                    "EndpointStatus": {},
                    "Id": {},
                    "Location": {
                      "shape": "S2b"
                    },
                    "Metrics": {
                      "shape": "S2d"
                    },
                    "OptOut": {},
                    "RequestId": {},
                    "User": {
                      "shape": "S2e"
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "ApplicationId",
          "EndpointBatchRequest"
        ],
        "payload": "EndpointBatchRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "MessageBody": {
            "shape": "S3a",
            "payload": true
          }
        },
        "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": {
            "payload": true,
            "type": "structure",
            "members": {
              "ApiKey": {}
            }
          }
        },
        "required": [
          "ApplicationId",
          "GCMChannelRequest"
        ],
        "payload": "GCMChannelRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "GCMChannelResponse": {
            "shape": "S1i",
            "payload": true
          }
        },
        "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": "Su",
            "payload": true
          }
        },
        "required": [
          "SegmentId",
          "ApplicationId",
          "WriteSegmentRequest"
        ],
        "payload": "WriteSegmentRequest"
      },
      "output": {
        "type": "structure",
        "members": {
          "SegmentResponse": {
            "shape": "S18",
            "payload": true
          }
        },
        "required": [
          "SegmentResponse"
        ],
        "payload": "SegmentResponse"
      }
    }
  },
  "shapes": {
    "S3": {
      "type": "structure",
      "members": {
        "AdditionalTreatments": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "MessageConfiguration": {
                "shape": "S6"
              },
              "Schedule": {
                "shape": "Sa"
              },
              "SizePercent": {
                "type": "integer"
              },
              "TreatmentDescription": {},
              "TreatmentName": {}
            }
          }
        },
        "Description": {},
        "HoldoutPercent": {
          "type": "integer"
        },
        "IsPaused": {
          "type": "boolean"
        },
        "Limits": {
          "shape": "Se"
        },
        "MessageConfiguration": {
          "shape": "S6"
        },
        "Name": {},
        "Schedule": {
          "shape": "Sa"
        },
        "SegmentId": {},
        "SegmentVersion": {
          "type": "integer"
        },
        "TreatmentDescription": {},
        "TreatmentName": {}
      }
    },
    "S6": {
      "type": "structure",
      "members": {
        "APNSMessage": {
          "shape": "S7"
        },
        "DefaultMessage": {
          "shape": "S7"
        },
        "GCMMessage": {
          "shape": "S7"
        }
      }
    },
    "S7": {
      "type": "structure",
      "members": {
        "Action": {},
        "Body": {},
        "ImageIconUrl": {},
        "ImageUrl": {},
        "JsonBody": {},
        "MediaUrl": {},
        "SilentPush": {
          "type": "boolean"
        },
        "Title": {},
        "Url": {}
      }
    },
    "Sa": {
      "type": "structure",
      "members": {
        "EndTime": {},
        "Frequency": {},
        "IsLocalTime": {
          "type": "boolean"
        },
        "QuietTime": {
          "shape": "Sc"
        },
        "StartTime": {},
        "Timezone": {}
      }
    },
    "Sc": {
      "type": "structure",
      "members": {
        "End": {},
        "Start": {}
      }
    },
    "Se": {
      "type": "structure",
      "members": {
        "Daily": {
          "type": "integer"
        },
        "Total": {
          "type": "integer"
        }
      }
    },
    "Sg": {
      "type": "structure",
      "members": {
        "AdditionalTreatments": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "Id": {},
              "MessageConfiguration": {
                "shape": "S6"
              },
              "Schedule": {
                "shape": "Sa"
              },
              "SizePercent": {
                "type": "integer"
              },
              "State": {
                "shape": "Sj"
              },
              "TreatmentDescription": {},
              "TreatmentName": {}
            }
          }
        },
        "ApplicationId": {},
        "CreationDate": {},
        "DefaultState": {
          "shape": "Sj"
        },
        "Description": {},
        "HoldoutPercent": {
          "type": "integer"
        },
        "Id": {},
        "IsPaused": {
          "type": "boolean"
        },
        "LastModifiedDate": {},
        "Limits": {
          "shape": "Se"
        },
        "MessageConfiguration": {
          "shape": "S6"
        },
        "Name": {},
        "Schedule": {
          "shape": "Sa"
        },
        "SegmentId": {},
        "SegmentVersion": {
          "type": "integer"
        },
        "State": {
          "shape": "Sj"
        },
        "TreatmentDescription": {},
        "TreatmentName": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "Sj": {
      "type": "structure",
      "members": {
        "CampaignStatus": {}
      }
    },
    "Sp": {
      "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": "Sr"
        },
        "Id": {},
        "JobStatus": {},
        "TotalFailures": {
          "type": "integer"
        },
        "TotalPieces": {
          "type": "integer"
        },
        "TotalProcessed": {
          "type": "integer"
        },
        "Type": {}
      }
    },
    "Sr": {
      "type": "list",
      "member": {}
    },
    "Su": {
      "type": "structure",
      "members": {
        "Dimensions": {
          "shape": "Sv"
        },
        "Name": {}
      }
    },
    "Sv": {
      "type": "structure",
      "members": {
        "Attributes": {
          "type": "map",
          "key": {},
          "value": {
            "type": "structure",
            "members": {
              "AttributeType": {},
              "Values": {
                "shape": "Sr"
              }
            }
          }
        },
        "Behavior": {
          "type": "structure",
          "members": {
            "Recency": {
              "type": "structure",
              "members": {
                "Duration": {},
                "RecencyType": {}
              }
            }
          }
        },
        "Demographic": {
          "type": "structure",
          "members": {
            "AppVersion": {
              "shape": "S14"
            },
            "DeviceType": {
              "shape": "S14"
            },
            "Make": {
              "shape": "S14"
            },
            "Model": {
              "shape": "S14"
            },
            "Platform": {
              "shape": "S14"
            }
          }
        },
        "Location": {
          "type": "structure",
          "members": {
            "Country": {
              "shape": "S14"
            }
          }
        }
      }
    },
    "S14": {
      "type": "structure",
      "members": {
        "DimensionType": {},
        "Values": {
          "shape": "Sr"
        }
      }
    },
    "S18": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Dimensions": {
          "shape": "Sv"
        },
        "Id": {},
        "ImportDefinition": {
          "type": "structure",
          "members": {
            "ExternalId": {},
            "Format": {},
            "RoleArn": {},
            "S3Url": {},
            "Size": {
              "type": "integer"
            }
          }
        },
        "LastModifiedDate": {},
        "Name": {},
        "SegmentType": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1d": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Id": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1i": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "CreationDate": {},
        "Credential": {},
        "Id": {},
        "IsArchived": {
          "type": "boolean"
        },
        "LastModifiedBy": {},
        "LastModifiedDate": {},
        "Platform": {},
        "Version": {
          "type": "integer"
        }
      }
    },
    "S1p": {
      "type": "structure",
      "members": {
        "ApplicationId": {},
        "LastModifiedDate": {},
        "Limits": {
          "shape": "Se"
        },
        "QuietTime": {
          "shape": "Sc"
        }
      }
    },
    "S21": {
      "type": "structure",
      "members": {
        "Item": {
          "type": "list",
          "member": {
            "shape": "Sg"
          }
        },
        "NextToken": {}
      }
    },
    "S28": {
      "type": "map",
      "key": {},
      "value": {
        "shape": "Sr"
      }
    },
    "S2a": {
      "type": "structure",
      "members": {
        "AppVersion": {},
        "Locale": {},
        "Make": {},
        "Model": {},
        "ModelVersion": {},
        "Platform": {},
        "PlatformVersion": {},
        "Timezone": {}
      }
    },
    "S2b": {
      "type": "structure",
      "members": {
        "City": {},
        "Country": {},
        "Latitude": {
          "type": "double"
        },
        "Longitude": {
          "type": "double"
        },
        "PostalCode": {},
        "Region": {}
      }
    },
    "S2d": {
      "type": "map",
      "key": {},
      "value": {
        "type": "double"
      }
    },
    "S2e": {
      "type": "structure",
      "members": {
        "UserAttributes": {
          "shape": "S28"
        },
        "UserId": {}
      }
    },
    "S2l": {
      "type": "structure",
      "members": {
        "Item": {
          "type": "list",
          "member": {
            "shape": "Sp"
          }
        },
        "NextToken": {}
      }
    },
    "S2v": {
      "type": "structure",
      "members": {
        "Item": {
          "type": "list",
          "member": {
            "shape": "S18"
          }
        },
        "NextToken": {}
      }
    },
    "S3a": {
      "type": "structure",
      "members": {
        "Message": {},
        "RequestID": {}
      }
    }
  }
}