Table of Contents
A low-level client representing AWS Elemental MediaPackage VOD:
import boto3
client = boto3.client('mediapackage-vod')
These are the available methods:
Check if an operation can be paginated.
Creates a new MediaPackage VOD Asset resource.
See also: AWS API Documentation
Request Syntax
response = client.create_asset(
Id='string',
PackagingGroupId='string',
ResourceId='string',
SourceArn='string',
SourceRoleArn='string',
Tags={
'string': 'string'
}
)
A collection of tags associated with a resource
dict
Response Syntax
{
'Arn': 'string',
'CreatedAt': 'string',
'EgressEndpoints': [
{
'PackagingConfigurationId': 'string',
'Url': 'string'
},
],
'Id': 'string',
'PackagingGroupId': 'string',
'ResourceId': 'string',
'SourceArn': 'string',
'SourceRoleArn': 'string',
'Tags': {
'string': 'string'
}
}
Response Structure
Exceptions
Creates a new MediaPackage VOD PackagingConfiguration resource.
See also: AWS API Documentation
Request Syntax
response = client.create_packaging_configuration(
CmafPackage={
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
DashPackage={
'DashManifests': [
{
'ManifestLayout': 'FULL'|'COMPACT',
'ManifestName': 'string',
'MinBufferTimeSeconds': 123,
'Profile': 'NONE'|'HBBTV_1_5',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'PeriodTriggers': [
'ADS',
],
'SegmentDurationSeconds': 123,
'SegmentTemplateFormat': 'NUMBER_WITH_TIMELINE'|'TIME_WITH_TIMELINE'|'NUMBER_WITH_DURATION'
},
HlsPackage={
'Encryption': {
'ConstantInitializationVector': 'string',
'EncryptionMethod': 'AES_128'|'SAMPLE_AES',
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123,
'UseAudioRenditionGroup': True|False
},
Id='string',
MssPackage={
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'MssManifests': [
{
'ManifestName': 'string',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
PackagingGroupId='string',
Tags={
'string': 'string'
}
)
A CMAF packaging configuration.
A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
An HTTP Live Streaming (HLS) packaging configuration.
A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
A collection of tags associated with a resource
dict
Response Syntax
{
'Arn': 'string',
'CmafPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'DashPackage': {
'DashManifests': [
{
'ManifestLayout': 'FULL'|'COMPACT',
'ManifestName': 'string',
'MinBufferTimeSeconds': 123,
'Profile': 'NONE'|'HBBTV_1_5',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'PeriodTriggers': [
'ADS',
],
'SegmentDurationSeconds': 123,
'SegmentTemplateFormat': 'NUMBER_WITH_TIMELINE'|'TIME_WITH_TIMELINE'|'NUMBER_WITH_DURATION'
},
'HlsPackage': {
'Encryption': {
'ConstantInitializationVector': 'string',
'EncryptionMethod': 'AES_128'|'SAMPLE_AES',
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123,
'UseAudioRenditionGroup': True|False
},
'Id': 'string',
'MssPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'MssManifests': [
{
'ManifestName': 'string',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'PackagingGroupId': 'string',
'Tags': {
'string': 'string'
}
}
Response Structure
Exceptions
Creates a new MediaPackage VOD PackagingGroup resource.
See also: AWS API Documentation
Request Syntax
response = client.create_packaging_group(
Id='string',
Tags={
'string': 'string'
}
)
A collection of tags associated with a resource
dict
Response Syntax
{
'Arn': 'string',
'DomainName': 'string',
'Id': 'string',
'Tags': {
'string': 'string'
}
}
Response Structure
Exceptions
Deletes an existing MediaPackage VOD Asset resource.
See also: AWS API Documentation
Request Syntax
response = client.delete_asset(
Id='string'
)
{}
Response Structure
Exceptions
Deletes a MediaPackage VOD PackagingConfiguration resource.
See also: AWS API Documentation
Request Syntax
response = client.delete_packaging_configuration(
Id='string'
)
{}
Response Structure
Exceptions
Deletes a MediaPackage VOD PackagingGroup resource.
See also: AWS API Documentation
Request Syntax
response = client.delete_packaging_group(
Id='string'
)
{}
Response Structure
Exceptions
Returns a description of a MediaPackage VOD Asset resource.
See also: AWS API Documentation
Request Syntax
response = client.describe_asset(
Id='string'
)
{
'Arn': 'string',
'CreatedAt': 'string',
'EgressEndpoints': [
{
'PackagingConfigurationId': 'string',
'Url': 'string'
},
],
'Id': 'string',
'PackagingGroupId': 'string',
'ResourceId': 'string',
'SourceArn': 'string',
'SourceRoleArn': 'string',
'Tags': {
'string': 'string'
}
}
Response Structure
Exceptions
Returns a description of a MediaPackage VOD PackagingConfiguration resource.
See also: AWS API Documentation
Request Syntax
response = client.describe_packaging_configuration(
Id='string'
)
{
'Arn': 'string',
'CmafPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'DashPackage': {
'DashManifests': [
{
'ManifestLayout': 'FULL'|'COMPACT',
'ManifestName': 'string',
'MinBufferTimeSeconds': 123,
'Profile': 'NONE'|'HBBTV_1_5',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'PeriodTriggers': [
'ADS',
],
'SegmentDurationSeconds': 123,
'SegmentTemplateFormat': 'NUMBER_WITH_TIMELINE'|'TIME_WITH_TIMELINE'|'NUMBER_WITH_DURATION'
},
'HlsPackage': {
'Encryption': {
'ConstantInitializationVector': 'string',
'EncryptionMethod': 'AES_128'|'SAMPLE_AES',
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123,
'UseAudioRenditionGroup': True|False
},
'Id': 'string',
'MssPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'MssManifests': [
{
'ManifestName': 'string',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'PackagingGroupId': 'string',
'Tags': {
'string': 'string'
}
}
Response Structure
Exceptions
Returns a description of a MediaPackage VOD PackagingGroup resource.
See also: AWS API Documentation
Request Syntax
response = client.describe_packaging_group(
Id='string'
)
{
'Arn': 'string',
'DomainName': 'string',
'Id': 'string',
'Tags': {
'string': 'string'
}
}
Response Structure
Exceptions
Generate a presigned url given a client, its method, and arguments
The presigned url
Create a paginator for an operation.
Returns an object that can wait for some condition.
Returns a collection of MediaPackage VOD Asset resources.
See also: AWS API Documentation
Request Syntax
response = client.list_assets(
MaxResults=123,
NextToken='string',
PackagingGroupId='string'
)
dict
Response Syntax
{
'Assets': [
{
'Arn': 'string',
'CreatedAt': 'string',
'Id': 'string',
'PackagingGroupId': 'string',
'ResourceId': 'string',
'SourceArn': 'string',
'SourceRoleArn': 'string',
'Tags': {
'string': 'string'
}
},
],
'NextToken': 'string'
}
Response Structure
Exceptions
Returns a collection of MediaPackage VOD PackagingConfiguration resources.
See also: AWS API Documentation
Request Syntax
response = client.list_packaging_configurations(
MaxResults=123,
NextToken='string',
PackagingGroupId='string'
)
dict
Response Syntax
{
'NextToken': 'string',
'PackagingConfigurations': [
{
'Arn': 'string',
'CmafPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'DashPackage': {
'DashManifests': [
{
'ManifestLayout': 'FULL'|'COMPACT',
'ManifestName': 'string',
'MinBufferTimeSeconds': 123,
'Profile': 'NONE'|'HBBTV_1_5',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'PeriodTriggers': [
'ADS',
],
'SegmentDurationSeconds': 123,
'SegmentTemplateFormat': 'NUMBER_WITH_TIMELINE'|'TIME_WITH_TIMELINE'|'NUMBER_WITH_DURATION'
},
'HlsPackage': {
'Encryption': {
'ConstantInitializationVector': 'string',
'EncryptionMethod': 'AES_128'|'SAMPLE_AES',
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123,
'UseAudioRenditionGroup': True|False
},
'Id': 'string',
'MssPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'MssManifests': [
{
'ManifestName': 'string',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'PackagingGroupId': 'string',
'Tags': {
'string': 'string'
}
},
]
}
Response Structure
Exceptions
Returns a collection of MediaPackage VOD PackagingGroup resources.
See also: AWS API Documentation
Request Syntax
response = client.list_packaging_groups(
MaxResults=123,
NextToken='string'
)
dict
Response Syntax
{
'NextToken': 'string',
'PackagingGroups': [
{
'Arn': 'string',
'DomainName': 'string',
'Id': 'string',
'Tags': {
'string': 'string'
}
},
]
}
Response Structure
Exceptions
List tags for a given MediaPackage VOD resource
See also: AWS API Documentation
Request Syntax
response = client.list_tags_for_resource(
ResourceArn='string'
)
{
'Tags': {
'string': 'string'
}
}
Response Structure
Set tags for a given MediaPackage VOD resource
See also: AWS API Documentation
Request Syntax
response = client.tag_resource(
ResourceArn='string',
Tags={
'string': 'string'
}
)
[REQUIRED]
None
Delete tags for a given MediaPackage VOD resource
See also: AWS API Documentation
Request Syntax
response = client.untag_resource(
ResourceArn='string',
TagKeys=[
'string',
]
)
[REQUIRED] The key(s) of tag to be deleted
None
The available paginators are:
paginator = client.get_paginator('list_assets')
Creates an iterator that will paginate through responses from MediaPackageVod.Client.list_assets().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PackagingGroupId='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken from a previous response.
dict
Response Syntax
{
'Assets': [
{
'Arn': 'string',
'CreatedAt': 'string',
'Id': 'string',
'PackagingGroupId': 'string',
'ResourceId': 'string',
'SourceArn': 'string',
'SourceRoleArn': 'string',
'Tags': {
'string': 'string'
}
},
],
}
Response Structure
paginator = client.get_paginator('list_packaging_configurations')
Creates an iterator that will paginate through responses from MediaPackageVod.Client.list_packaging_configurations().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PackagingGroupId='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken from a previous response.
dict
Response Syntax
{
'PackagingConfigurations': [
{
'Arn': 'string',
'CmafPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'DashPackage': {
'DashManifests': [
{
'ManifestLayout': 'FULL'|'COMPACT',
'ManifestName': 'string',
'MinBufferTimeSeconds': 123,
'Profile': 'NONE'|'HBBTV_1_5',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'PeriodTriggers': [
'ADS',
],
'SegmentDurationSeconds': 123,
'SegmentTemplateFormat': 'NUMBER_WITH_TIMELINE'|'TIME_WITH_TIMELINE'|'NUMBER_WITH_DURATION'
},
'HlsPackage': {
'Encryption': {
'ConstantInitializationVector': 'string',
'EncryptionMethod': 'AES_128'|'SAMPLE_AES',
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'HlsManifests': [
{
'AdMarkers': 'NONE'|'SCTE35_ENHANCED'|'PASSTHROUGH',
'IncludeIframeOnlyStream': True|False,
'ManifestName': 'string',
'ProgramDateTimeIntervalSeconds': 123,
'RepeatExtXKey': True|False,
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123,
'UseAudioRenditionGroup': True|False
},
'Id': 'string',
'MssPackage': {
'Encryption': {
'SpekeKeyProvider': {
'RoleArn': 'string',
'SystemIds': [
'string',
],
'Url': 'string'
}
},
'MssManifests': [
{
'ManifestName': 'string',
'StreamSelection': {
'MaxVideoBitsPerSecond': 123,
'MinVideoBitsPerSecond': 123,
'StreamOrder': 'ORIGINAL'|'VIDEO_BITRATE_ASCENDING'|'VIDEO_BITRATE_DESCENDING'
}
},
],
'SegmentDurationSeconds': 123
},
'PackagingGroupId': 'string',
'Tags': {
'string': 'string'
}
},
]
}
Response Structure
paginator = client.get_paginator('list_packaging_groups')
Creates an iterator that will paginate through responses from MediaPackageVod.Client.list_packaging_groups().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken from a previous response.
{
'PackagingGroups': [
{
'Arn': 'string',
'DomainName': 'string',
'Id': 'string',
'Tags': {
'string': 'string'
}
},
]
}
Response Structure