diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 906b838..5117758 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -1,6 +1,5 @@ .gitignore .gitlab-ci.yml -.openapi-generator-ignore .travis.yml README.md docs/Account.md @@ -205,6 +204,7 @@ docs/GoogleProductCategory5Filter.md docs/GoogleProductCategory6Filter.md docs/Granularity.md docs/ImageDetails.md +docs/ImageMetadata.md docs/InlineObject.md docs/ItemAttributes.md docs/ItemAttributesAllOf.md @@ -266,14 +266,21 @@ docs/PacingDeliveryType.md docs/Paginated.md docs/Pin.md docs/PinMedia.md +docs/PinMediaMetadata.md docs/PinMediaSource.md docs/PinMediaSourceImageBase64.md docs/PinMediaSourceImageURL.md docs/PinMediaSourceVideoID.md docs/PinMediaWithImage.md docs/PinMediaWithImageAllOf.md +docs/PinMediaWithImageAndVideo.md +docs/PinMediaWithImageAndVideoAllOf.md +docs/PinMediaWithImages.md +docs/PinMediaWithImagesAllOf.md docs/PinMediaWithVideo.md docs/PinMediaWithVideoAllOf.md +docs/PinMediaWithVideos.md +docs/PinMediaWithVideosAllOf.md docs/PinPromotionSummaryStatus.md docs/PinsApi.md docs/PinterestTagEventData.md @@ -321,6 +328,7 @@ docs/UpdatableItemAttributes.md docs/UserAccountApi.md docs/UserListOperationType.md docs/UserListType.md +docs/VideoMetadata.md git_push.sh pinterest/__init__.py pinterest/generated/__init__.py @@ -542,6 +550,7 @@ pinterest/generated/client/model/google_product_category5_filter.py pinterest/generated/client/model/google_product_category6_filter.py pinterest/generated/client/model/granularity.py pinterest/generated/client/model/image_details.py +pinterest/generated/client/model/image_metadata.py pinterest/generated/client/model/inline_object.py pinterest/generated/client/model/item_attributes.py pinterest/generated/client/model/item_attributes_all_of.py @@ -600,14 +609,21 @@ pinterest/generated/client/model/pacing_delivery_type.py pinterest/generated/client/model/paginated.py pinterest/generated/client/model/pin.py pinterest/generated/client/model/pin_media.py +pinterest/generated/client/model/pin_media_metadata.py pinterest/generated/client/model/pin_media_source.py pinterest/generated/client/model/pin_media_source_image_base64.py pinterest/generated/client/model/pin_media_source_image_url.py pinterest/generated/client/model/pin_media_source_video_id.py pinterest/generated/client/model/pin_media_with_image.py pinterest/generated/client/model/pin_media_with_image_all_of.py +pinterest/generated/client/model/pin_media_with_image_and_video.py +pinterest/generated/client/model/pin_media_with_image_and_video_all_of.py +pinterest/generated/client/model/pin_media_with_images.py +pinterest/generated/client/model/pin_media_with_images_all_of.py pinterest/generated/client/model/pin_media_with_video.py pinterest/generated/client/model/pin_media_with_video_all_of.py +pinterest/generated/client/model/pin_media_with_videos.py +pinterest/generated/client/model/pin_media_with_videos_all_of.py pinterest/generated/client/model/pin_promotion_summary_status.py pinterest/generated/client/model/pinterest_tag_event_data.py pinterest/generated/client/model/placement_group_type.py @@ -649,6 +665,7 @@ pinterest/generated/client/model/tracking_urls.py pinterest/generated/client/model/updatable_item_attributes.py pinterest/generated/client/model/user_list_operation_type.py pinterest/generated/client/model/user_list_type.py +pinterest/generated/client/model/video_metadata.py pinterest/generated/client/model_utils.py pinterest/generated/client/models/__init__.py pinterest/generated/client/rest.py @@ -859,6 +876,7 @@ test/test_google_product_category5_filter.py test/test_google_product_category6_filter.py test/test_granularity.py test/test_image_details.py +test/test_image_metadata.py test/test_inline_object.py test/test_item_attributes.py test/test_item_attributes_all_of.py @@ -920,14 +938,21 @@ test/test_pacing_delivery_type.py test/test_paginated.py test/test_pin.py test/test_pin_media.py +test/test_pin_media_metadata.py test/test_pin_media_source.py test/test_pin_media_source_image_base64.py test/test_pin_media_source_image_url.py test/test_pin_media_source_video_id.py test/test_pin_media_with_image.py test/test_pin_media_with_image_all_of.py +test/test_pin_media_with_image_and_video.py +test/test_pin_media_with_image_and_video_all_of.py +test/test_pin_media_with_images.py +test/test_pin_media_with_images_all_of.py test/test_pin_media_with_video.py test/test_pin_media_with_video_all_of.py +test/test_pin_media_with_videos.py +test/test_pin_media_with_videos_all_of.py test/test_pin_promotion_summary_status.py test/test_pins_api.py test/test_pinterest_tag_event_data.py @@ -975,4 +1000,5 @@ test/test_updatable_item_attributes.py test/test_user_account_api.py test/test_user_list_operation_type.py test/test_user_list_type.py +test/test_video_metadata.py tox.ini diff --git a/Makefile b/Makefile index 7f7635d..487f887 100644 --- a/Makefile +++ b/Makefile @@ -15,5 +15,14 @@ clean-pyc: ## Clean python binaries find . -name '*~' -exec rm -f {} + build: ## Build command - python setup.py sdist - ls -l dist \ No newline at end of file + python -m build + ls -l dist + +pip_release_install: + pip install twine build + +publish_pypi_test: pip_release_install build + twine upload -r testpypi dist/* + +publish_pypi: pip_release_install build + twine upload -r dist/* \ No newline at end of file diff --git a/README.md b/README.md index 2774e6f..90eaf4b 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ ## BETA NOTICE: This is BETA software and may have bugs and can be removed without previous notice. It is intended for qualified beta testers only and must not be used in production systems. +## This client library is not design to be use directly, instead use ours [Pinterest Python SDK](https://github.com/pinterest/pinterest-python-sdk) + # Pinterest Generated Client Pinterest's REST API This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 5.6.0 -- Package version: 0.1.1 +- Package version: 0.1.2 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://developers.pinterest.com/](https://developers.pinterest.com/) @@ -97,16 +99,16 @@ with pinterest.generated.client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = ad_accounts_api.AdAccountsApi(api_client) ad_account_id = "4" # str | Unique identifier of an ad account. -start_date = dateutil_parser('1970-01-01').date() # date | Metric report start date (UTC). Format: YYYY-MM-DD -end_date = dateutil_parser('1970-01-01').date() # date | Metric report end date (UTC). Format: YYYY-MM-DD -columns = [ + start_date = dateutil_parser('1970-01-01').date() # date | Metric report start date (UTC). Format: YYYY-MM-DD + end_date = dateutil_parser('1970-01-01').date() # date | Metric report end date (UTC). Format: YYYY-MM-DD + columns = [ "SPEND_IN_DOLLAR", ] # [str] | Columns to retrieve, encoded as a comma-separated string. **NOTE**: Any metrics defined as MICRO_DOLLARS returns a value based on the advertiser profile's currency field. For USD,($1/1,000,000, or $0.000001 - one one-ten-thousandth of a cent). it's microdollars. Otherwise, it's in microunits of the advertiser's currency.
For example, if the advertiser's currency is GBP (British pound sterling), all MICRO_DOLLARS fields will be in GBP microunits (1/1,000,000 British pound).
If a column has no value, it may not be returned -granularity = Granularity("DAY") # Granularity | TOTAL - metrics are aggregated over the specified date range.
DAY - metrics are broken down daily.
HOUR - metrics are broken down hourly.
WEEKLY - metrics are broken down weekly.
MONTHLY - metrics are broken down monthly -click_window_days = 1 # int | Number of days to use as the conversion attribution window for a pin click action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. (optional) (default to 30) -engagement_window_days = 30 # int | Number of days to use as the conversion attribution window for an engagement action. Engagements include saves, closeups, link clicks, and carousel card swipes. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. (optional) (default to 30) -view_window_days = 1 # int | Number of days to use as the conversion attribution window for a view action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `1` day. (optional) (default to 1) -conversion_report_time = "TIME_OF_AD_ACTION" # str | The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event. (optional) (default to "TIME_OF_AD_ACTION") + granularity = Granularity("DAY") # Granularity | TOTAL - metrics are aggregated over the specified date range.
DAY - metrics are broken down daily.
HOUR - metrics are broken down hourly.
WEEKLY - metrics are broken down weekly.
MONTHLY - metrics are broken down monthly + click_window_days = 1 # int | Number of days to use as the conversion attribution window for a pin click action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. (optional) (default to 30) + engagement_window_days = 30 # int | Number of days to use as the conversion attribution window for an engagement action. Engagements include saves, closeups, link clicks, and carousel card swipes. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. (optional) (default to 30) + view_window_days = 1 # int | Number of days to use as the conversion attribution window for a view action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `1` day. (optional) (default to 1) + conversion_report_time = "TIME_OF_AD_ACTION" # str | The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event. (optional) (default to "TIME_OF_AD_ACTION") try: # Get ad account analytics @@ -122,406 +124,415 @@ All URIs are relative to *https://api.pinterest.com/v5* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*AdAccountsApi* | [**ad_account_analytics**](docs/AdAccountsApi.md#ad_account_analytics) | **GET** /ad_accounts/{ad_account_id}/analytics | Get ad account analytics -*AdAccountsApi* | [**ad_account_targeting_analytics_get**](docs/AdAccountsApi.md#ad_account_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/targeting_analytics | Get targeting analytics for an ad account -*AdAccountsApi* | [**ad_accounts_create**](docs/AdAccountsApi.md#ad_accounts_create) | **POST** /ad_accounts | Create ad account -*AdAccountsApi* | [**ad_accounts_get**](docs/AdAccountsApi.md#ad_accounts_get) | **GET** /ad_accounts/{ad_account_id} | Get ad account -*AdAccountsApi* | [**ad_accounts_list**](docs/AdAccountsApi.md#ad_accounts_list) | **GET** /ad_accounts | List ad accounts -*AdAccountsApi* | [**analytics_create_report**](docs/AdAccountsApi.md#analytics_create_report) | **POST** /ad_accounts/{ad_account_id}/reports | Create async request for an account analytics report -*AdAccountsApi* | [**analytics_get_report**](docs/AdAccountsApi.md#analytics_get_report) | **GET** /ad_accounts/{ad_account_id}/reports | Get the account analytics report created by the async call -*AdGroupsApi* | [**ad_groups_analytics**](docs/AdGroupsApi.md#ad_groups_analytics) | **GET** /ad_accounts/{ad_account_id}/ad_groups/analytics | Get ad group analytics -*AdGroupsApi* | [**ad_groups_bid_floor_get**](docs/AdGroupsApi.md#ad_groups_bid_floor_get) | **POST** /ad_accounts/{ad_account_id}/bid_floor | Get bid floors -*AdGroupsApi* | [**ad_groups_create**](docs/AdGroupsApi.md#ad_groups_create) | **POST** /ad_accounts/{ad_account_id}/ad_groups | Create ad groups -*AdGroupsApi* | [**ad_groups_get**](docs/AdGroupsApi.md#ad_groups_get) | **GET** /ad_accounts/{ad_account_id}/ad_groups/{ad_group_id} | Get ad group -*AdGroupsApi* | [**ad_groups_list**](docs/AdGroupsApi.md#ad_groups_list) | **GET** /ad_accounts/{ad_account_id}/ad_groups | List ad groups -*AdGroupsApi* | [**ad_groups_targeting_analytics_get**](docs/AdGroupsApi.md#ad_groups_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/ad_groups/targeting_analytics | Get targeting analytics for ad groups -*AdGroupsApi* | [**ad_groups_update**](docs/AdGroupsApi.md#ad_groups_update) | **PATCH** /ad_accounts/{ad_account_id}/ad_groups | Update ad groups -*AdsApi* | [**ad_previews_create**](docs/AdsApi.md#ad_previews_create) | **POST** /ad_accounts/{ad_account_id}/ad_previews | Create ad preview with pin or image -*AdsApi* | [**ad_targeting_analytics_get**](docs/AdsApi.md#ad_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/ads/targeting_analytics | Get targeting analytics for ads -*AdsApi* | [**ads_analytics**](docs/AdsApi.md#ads_analytics) | **GET** /ad_accounts/{ad_account_id}/ads/analytics | Get ad analytics -*AdsApi* | [**ads_create**](docs/AdsApi.md#ads_create) | **POST** /ad_accounts/{ad_account_id}/ads | Create ads -*AdsApi* | [**ads_get**](docs/AdsApi.md#ads_get) | **GET** /ad_accounts/{ad_account_id}/ads/{ad_id} | Get ad -*AdsApi* | [**ads_list**](docs/AdsApi.md#ads_list) | **GET** /ad_accounts/{ad_account_id}/ads | List ads -*AdsApi* | [**ads_update**](docs/AdsApi.md#ads_update) | **PATCH** /ad_accounts/{ad_account_id}/ads | Update ads -*AudiencesApi* | [**audiences_create**](docs/AudiencesApi.md#audiences_create) | **POST** /ad_accounts/{ad_account_id}/audiences | Create audience -*AudiencesApi* | [**audiences_get**](docs/AudiencesApi.md#audiences_get) | **GET** /ad_accounts/{ad_account_id}/audiences/{audience_id} | Get audience -*AudiencesApi* | [**audiences_list**](docs/AudiencesApi.md#audiences_list) | **GET** /ad_accounts/{ad_account_id}/audiences | List audiences -*AudiencesApi* | [**audiences_update**](docs/AudiencesApi.md#audiences_update) | **PATCH** /ad_accounts/{ad_account_id}/audiences/{audience_id} | Update audience -*BoardsApi* | [**board_sections_create**](docs/BoardsApi.md#board_sections_create) | **POST** /boards/{board_id}/sections | Create board section -*BoardsApi* | [**board_sections_delete**](docs/BoardsApi.md#board_sections_delete) | **DELETE** /boards/{board_id}/sections/{section_id} | Delete board section -*BoardsApi* | [**board_sections_list**](docs/BoardsApi.md#board_sections_list) | **GET** /boards/{board_id}/sections | List board sections -*BoardsApi* | [**board_sections_list_pins**](docs/BoardsApi.md#board_sections_list_pins) | **GET** /boards/{board_id}/sections/{section_id}/pins | List Pins on board section -*BoardsApi* | [**board_sections_update**](docs/BoardsApi.md#board_sections_update) | **PATCH** /boards/{board_id}/sections/{section_id} | Update board section -*BoardsApi* | [**boards_create**](docs/BoardsApi.md#boards_create) | **POST** /boards | Create board -*BoardsApi* | [**boards_delete**](docs/BoardsApi.md#boards_delete) | **DELETE** /boards/{board_id} | Delete board -*BoardsApi* | [**boards_get**](docs/BoardsApi.md#boards_get) | **GET** /boards/{board_id} | Get board -*BoardsApi* | [**boards_list**](docs/BoardsApi.md#boards_list) | **GET** /boards | List boards -*BoardsApi* | [**boards_list_pins**](docs/BoardsApi.md#boards_list_pins) | **GET** /boards/{board_id}/pins | List Pins on board -*BoardsApi* | [**boards_update**](docs/BoardsApi.md#boards_update) | **PATCH** /boards/{board_id} | Update board -*BulkApi* | [**bulk_download_create**](docs/BulkApi.md#bulk_download_create) | **POST** /ad_accounts/{ad_account_id}/bulk/download | Get advertiser entities in bulk -*BulkApi* | [**bulk_request_get**](docs/BulkApi.md#bulk_request_get) | **GET** /ad_accounts/{ad_account_id}/bulk/{bulk_request_id} | Download advertiser entities in bulk -*BulkApi* | [**bulk_upsert_create**](docs/BulkApi.md#bulk_upsert_create) | **POST** /ad_accounts/{ad_account_id}/bulk/upsert | Create/update ad entities in bulk -*CampaignsApi* | [**campaign_targeting_analytics_get**](docs/CampaignsApi.md#campaign_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/campaigns/targeting_analytics | Get targeting analytics for campaigns -*CampaignsApi* | [**campaigns_analytics**](docs/CampaignsApi.md#campaigns_analytics) | **GET** /ad_accounts/{ad_account_id}/campaigns/analytics | Get campaign analytics -*CampaignsApi* | [**campaigns_create**](docs/CampaignsApi.md#campaigns_create) | **POST** /ad_accounts/{ad_account_id}/campaigns | Create campaigns -*CampaignsApi* | [**campaigns_get**](docs/CampaignsApi.md#campaigns_get) | **GET** /ad_accounts/{ad_account_id}/campaigns/{campaign_id} | Get campaign -*CampaignsApi* | [**campaigns_list**](docs/CampaignsApi.md#campaigns_list) | **GET** /ad_accounts/{ad_account_id}/campaigns | List campaigns -*CampaignsApi* | [**campaigns_update**](docs/CampaignsApi.md#campaigns_update) | **PATCH** /ad_accounts/{ad_account_id}/campaigns | Update campaigns -*CatalogsApi* | [**catalogs_product_group_pins_list**](docs/CatalogsApi.md#catalogs_product_group_pins_list) | **GET** /catalogs/product_groups/{product_group_id}/products | List products -*CatalogsApi* | [**catalogs_product_groups_create**](docs/CatalogsApi.md#catalogs_product_groups_create) | **POST** /catalogs/product_groups | Create product group -*CatalogsApi* | [**catalogs_product_groups_delete**](docs/CatalogsApi.md#catalogs_product_groups_delete) | **DELETE** /catalogs/product_groups/{product_group_id} | Delete product group -*CatalogsApi* | [**catalogs_product_groups_get**](docs/CatalogsApi.md#catalogs_product_groups_get) | **GET** /catalogs/product_groups/{product_group_id} | Get product group -*CatalogsApi* | [**catalogs_product_groups_list**](docs/CatalogsApi.md#catalogs_product_groups_list) | **GET** /catalogs/product_groups | List product groups -*CatalogsApi* | [**catalogs_product_groups_product_counts_get**](docs/CatalogsApi.md#catalogs_product_groups_product_counts_get) | **GET** /catalogs/product_groups/{product_group_id}/product_counts | Get product counts -*CatalogsApi* | [**catalogs_product_groups_update**](docs/CatalogsApi.md#catalogs_product_groups_update) | **PATCH** /catalogs/product_groups/{product_group_id} | Update product group -*CatalogsApi* | [**feed_processing_results_list**](docs/CatalogsApi.md#feed_processing_results_list) | **GET** /catalogs/feeds/{feed_id}/processing_results | List processing results for a given feed -*CatalogsApi* | [**feeds_create**](docs/CatalogsApi.md#feeds_create) | **POST** /catalogs/feeds | Create feed -*CatalogsApi* | [**feeds_delete**](docs/CatalogsApi.md#feeds_delete) | **DELETE** /catalogs/feeds/{feed_id} | Delete feed -*CatalogsApi* | [**feeds_get**](docs/CatalogsApi.md#feeds_get) | **GET** /catalogs/feeds/{feed_id} | Get feed -*CatalogsApi* | [**feeds_list**](docs/CatalogsApi.md#feeds_list) | **GET** /catalogs/feeds | List feeds -*CatalogsApi* | [**feeds_update**](docs/CatalogsApi.md#feeds_update) | **PATCH** /catalogs/feeds/{feed_id} | Update feed -*CatalogsApi* | [**items_batch_get**](docs/CatalogsApi.md#items_batch_get) | **GET** /catalogs/items/batch/{batch_id} | Get catalogs items batch -*CatalogsApi* | [**items_batch_post**](docs/CatalogsApi.md#items_batch_post) | **POST** /catalogs/items/batch | Operate on item batch -*CatalogsApi* | [**items_get**](docs/CatalogsApi.md#items_get) | **GET** /catalogs/items | Get catalogs items -*CatalogsApi* | [**items_issues_list**](docs/CatalogsApi.md#items_issues_list) | **GET** /catalogs/processing_results/{processing_result_id}/item_issues | List item issues for a given processing result -*CatalogsApi* | [**products_by_product_group_filter_list**](docs/CatalogsApi.md#products_by_product_group_filter_list) | **POST** /catalogs/products/get_by_product_group_filters | List filtered products -*ConversionEventsApi* | [**events_create**](docs/ConversionEventsApi.md#events_create) | **POST** /ad_accounts/{ad_account_id}/events | Send conversion events to the Pinterest API for Conversions -*CustomerListsApi* | [**customer_lists_create**](docs/CustomerListsApi.md#customer_lists_create) | **POST** /ad_accounts/{ad_account_id}/customer_lists | Create customer lists -*CustomerListsApi* | [**customer_lists_get**](docs/CustomerListsApi.md#customer_lists_get) | **GET** /ad_accounts/{ad_account_id}/customer_lists/{customer_list_id} | Get customer list -*CustomerListsApi* | [**customer_lists_list**](docs/CustomerListsApi.md#customer_lists_list) | **GET** /ad_accounts/{ad_account_id}/customer_lists | Get customer lists -*CustomerListsApi* | [**customer_lists_update**](docs/CustomerListsApi.md#customer_lists_update) | **PATCH** /ad_accounts/{ad_account_id}/customer_lists/{customer_list_id} | Update customer list -*KeywordsApi* | [**country_keywords_metrics_get**](docs/KeywordsApi.md#country_keywords_metrics_get) | **GET** /ad_accounts/{ad_account_id}/keywords/metrics | Get country's keyword metrics -*KeywordsApi* | [**keywords_create**](docs/KeywordsApi.md#keywords_create) | **POST** /ad_accounts/{ad_account_id}/keywords | Create keywords -*KeywordsApi* | [**keywords_get**](docs/KeywordsApi.md#keywords_get) | **GET** /ad_accounts/{ad_account_id}/keywords | Get keywords -*KeywordsApi* | [**keywords_update**](docs/KeywordsApi.md#keywords_update) | **PATCH** /ad_accounts/{ad_account_id}/keywords | Update keywords -*MediaApi* | [**media_create**](docs/MediaApi.md#media_create) | **POST** /media | Register media upload -*MediaApi* | [**media_get**](docs/MediaApi.md#media_get) | **GET** /media/{media_id} | Get media upload details -*MediaApi* | [**media_list**](docs/MediaApi.md#media_list) | **GET** /media | List media uploads -*OauthApi* | [**oauth_token**](docs/OauthApi.md#oauth_token) | **POST** /oauth/token | Generate OAuth access token -*PinsApi* | [**pins_analytics**](docs/PinsApi.md#pins_analytics) | **GET** /pins/{pin_id}/analytics | Get Pin analytics -*PinsApi* | [**pins_create**](docs/PinsApi.md#pins_create) | **POST** /pins | Create Pin -*PinsApi* | [**pins_delete**](docs/PinsApi.md#pins_delete) | **DELETE** /pins/{pin_id} | Delete Pin -*PinsApi* | [**pins_get**](docs/PinsApi.md#pins_get) | **GET** /pins/{pin_id} | Get Pin -*PinsApi* | [**pins_save**](docs/PinsApi.md#pins_save) | **POST** /pins/{pin_id}/save | Save pin -*ProductGroupPromotionsApi* | [**product_group_promotion_get**](docs/ProductGroupPromotionsApi.md#product_group_promotion_get) | **GET** /ad_accounts/{ad_account_id}/product_group_promotions/{product_group_promotion_id} | Get a product group promotion by id -*ProductGroupPromotionsApi* | [**product_group_promotions_create**](docs/ProductGroupPromotionsApi.md#product_group_promotions_create) | **POST** /ad_accounts/{ad_account_id}/product_group_promotions | Create product group promotions -*ProductGroupPromotionsApi* | [**product_group_promotions_update**](docs/ProductGroupPromotionsApi.md#product_group_promotions_update) | **PATCH** /ad_accounts/{ad_account_id}/product_group_promotions | Update product group promotions -*ProductGroupPromotionsApi* | [**product_groups_analytics**](docs/ProductGroupPromotionsApi.md#product_groups_analytics) | **GET** /ad_accounts/{ad_account_id}/product_groups/analytics | Get product group analytics -*ResourcesApi* | [**ad_account_countries_get**](docs/ResourcesApi.md#ad_account_countries_get) | **GET** /resources/ad_account_countries | Get ad accounts countries -*ResourcesApi* | [**delivery_metrics_get**](docs/ResourcesApi.md#delivery_metrics_get) | **GET** /resources/delivery_metrics | Get available delivery metrics' definitions -*ResourcesApi* | [**interest_targeting_options_get**](docs/ResourcesApi.md#interest_targeting_options_get) | **GET** /resources/targeting/interests/{interest_id} | Get interest details -*ResourcesApi* | [**metrics_ready_state_get**](docs/ResourcesApi.md#metrics_ready_state_get) | **GET** /resources/metrics_ready_state | Get metrics ready state -*ResourcesApi* | [**targeting_options_get**](docs/ResourcesApi.md#targeting_options_get) | **GET** /resources/targeting/{targeting_type} | Get targeting options -*TermsApi* | [**terms_related_list**](docs/TermsApi.md#terms_related_list) | **GET** /terms/related | List related terms -*TermsApi* | [**terms_suggested_list**](docs/TermsApi.md#terms_suggested_list) | **GET** /terms/suggested | List suggested terms -*TermsOfServiceApi* | [**terms_of_service_get**](docs/TermsOfServiceApi.md#terms_of_service_get) | **GET** /ad_accounts/{ad_account_id}/terms_of_service | Get terms of service -*UserAccountApi* | [**user_account_analytics**](docs/UserAccountApi.md#user_account_analytics) | **GET** /user_account/analytics | Get user account analytics -*UserAccountApi* | [**user_account_analytics_top_pins**](docs/UserAccountApi.md#user_account_analytics_top_pins) | **GET** /user_account/analytics/top_pins | Get user account top pins analytics -*UserAccountApi* | [**user_account_analytics_top_video_pins**](docs/UserAccountApi.md#user_account_analytics_top_video_pins) | **GET** /user_account/analytics/top_video_pins | Get user account top video pins analytics -*UserAccountApi* | [**user_account_get**](docs/UserAccountApi.md#user_account_get) | **GET** /user_account | Get user account +*AdAccountsApi* | [**ad_account_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#ad_account_analytics) | **GET** /ad_accounts/{ad_account_id}/analytics | Get ad account analytics +*AdAccountsApi* | [**ad_account_targeting_analytics_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#ad_account_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/targeting_analytics | Get targeting analytics for an ad account +*AdAccountsApi* | [**ad_accounts_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#ad_accounts_create) | **POST** /ad_accounts | Create ad account +*AdAccountsApi* | [**ad_accounts_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#ad_accounts_get) | **GET** /ad_accounts/{ad_account_id} | Get ad account +*AdAccountsApi* | [**ad_accounts_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#ad_accounts_list) | **GET** /ad_accounts | List ad accounts +*AdAccountsApi* | [**analytics_create_report**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#analytics_create_report) | **POST** /ad_accounts/{ad_account_id}/reports | Create async request for an account analytics report +*AdAccountsApi* | [**analytics_get_report**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsApi.md#analytics_get_report) | **GET** /ad_accounts/{ad_account_id}/reports | Get the account analytics report created by the async call +*AdGroupsApi* | [**ad_groups_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_analytics) | **GET** /ad_accounts/{ad_account_id}/ad_groups/analytics | Get ad group analytics +*AdGroupsApi* | [**ad_groups_bid_floor_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_bid_floor_get) | **POST** /ad_accounts/{ad_account_id}/bid_floor | Get bid floors +*AdGroupsApi* | [**ad_groups_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_create) | **POST** /ad_accounts/{ad_account_id}/ad_groups | Create ad groups +*AdGroupsApi* | [**ad_groups_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_get) | **GET** /ad_accounts/{ad_account_id}/ad_groups/{ad_group_id} | Get ad group +*AdGroupsApi* | [**ad_groups_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_list) | **GET** /ad_accounts/{ad_account_id}/ad_groups | List ad groups +*AdGroupsApi* | [**ad_groups_targeting_analytics_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/ad_groups/targeting_analytics | Get targeting analytics for ad groups +*AdGroupsApi* | [**ad_groups_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsApi.md#ad_groups_update) | **PATCH** /ad_accounts/{ad_account_id}/ad_groups | Update ad groups +*AdsApi* | [**ad_previews_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ad_previews_create) | **POST** /ad_accounts/{ad_account_id}/ad_previews | Create ad preview with pin or image +*AdsApi* | [**ad_targeting_analytics_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ad_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/ads/targeting_analytics | Get targeting analytics for ads +*AdsApi* | [**ads_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ads_analytics) | **GET** /ad_accounts/{ad_account_id}/ads/analytics | Get ad analytics +*AdsApi* | [**ads_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ads_create) | **POST** /ad_accounts/{ad_account_id}/ads | Create ads +*AdsApi* | [**ads_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ads_get) | **GET** /ad_accounts/{ad_account_id}/ads/{ad_id} | Get ad +*AdsApi* | [**ads_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ads_list) | **GET** /ad_accounts/{ad_account_id}/ads | List ads +*AdsApi* | [**ads_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsApi.md#ads_update) | **PATCH** /ad_accounts/{ad_account_id}/ads | Update ads +*AudiencesApi* | [**audiences_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudiencesApi.md#audiences_create) | **POST** /ad_accounts/{ad_account_id}/audiences | Create audience +*AudiencesApi* | [**audiences_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudiencesApi.md#audiences_get) | **GET** /ad_accounts/{ad_account_id}/audiences/{audience_id} | Get audience +*AudiencesApi* | [**audiences_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudiencesApi.md#audiences_list) | **GET** /ad_accounts/{ad_account_id}/audiences | List audiences +*AudiencesApi* | [**audiences_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudiencesApi.md#audiences_update) | **PATCH** /ad_accounts/{ad_account_id}/audiences/{audience_id} | Update audience +*BoardsApi* | [**board_sections_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#board_sections_create) | **POST** /boards/{board_id}/sections | Create board section +*BoardsApi* | [**board_sections_delete**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#board_sections_delete) | **DELETE** /boards/{board_id}/sections/{section_id} | Delete board section +*BoardsApi* | [**board_sections_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#board_sections_list) | **GET** /boards/{board_id}/sections | List board sections +*BoardsApi* | [**board_sections_list_pins**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#board_sections_list_pins) | **GET** /boards/{board_id}/sections/{section_id}/pins | List Pins on board section +*BoardsApi* | [**board_sections_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#board_sections_update) | **PATCH** /boards/{board_id}/sections/{section_id} | Update board section +*BoardsApi* | [**boards_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#boards_create) | **POST** /boards | Create board +*BoardsApi* | [**boards_delete**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#boards_delete) | **DELETE** /boards/{board_id} | Delete board +*BoardsApi* | [**boards_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#boards_get) | **GET** /boards/{board_id} | Get board +*BoardsApi* | [**boards_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#boards_list) | **GET** /boards | List boards +*BoardsApi* | [**boards_list_pins**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#boards_list_pins) | **GET** /boards/{board_id}/pins | List Pins on board +*BoardsApi* | [**boards_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardsApi.md#boards_update) | **PATCH** /boards/{board_id} | Update board +*BulkApi* | [**bulk_download_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkApi.md#bulk_download_create) | **POST** /ad_accounts/{ad_account_id}/bulk/download | Get advertiser entities in bulk +*BulkApi* | [**bulk_request_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkApi.md#bulk_request_get) | **GET** /ad_accounts/{ad_account_id}/bulk/{bulk_request_id} | Download advertiser entities in bulk +*BulkApi* | [**bulk_upsert_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkApi.md#bulk_upsert_create) | **POST** /ad_accounts/{ad_account_id}/bulk/upsert | Create/update ad entities in bulk +*CampaignsApi* | [**campaign_targeting_analytics_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsApi.md#campaign_targeting_analytics_get) | **GET** /ad_accounts/{ad_account_id}/campaigns/targeting_analytics | Get targeting analytics for campaigns +*CampaignsApi* | [**campaigns_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsApi.md#campaigns_analytics) | **GET** /ad_accounts/{ad_account_id}/campaigns/analytics | Get campaign analytics +*CampaignsApi* | [**campaigns_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsApi.md#campaigns_create) | **POST** /ad_accounts/{ad_account_id}/campaigns | Create campaigns +*CampaignsApi* | [**campaigns_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsApi.md#campaigns_get) | **GET** /ad_accounts/{ad_account_id}/campaigns/{campaign_id} | Get campaign +*CampaignsApi* | [**campaigns_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsApi.md#campaigns_list) | **GET** /ad_accounts/{ad_account_id}/campaigns | List campaigns +*CampaignsApi* | [**campaigns_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsApi.md#campaigns_update) | **PATCH** /ad_accounts/{ad_account_id}/campaigns | Update campaigns +*CatalogsApi* | [**catalogs_product_group_pins_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_group_pins_list) | **GET** /catalogs/product_groups/{product_group_id}/products | List products +*CatalogsApi* | [**catalogs_product_groups_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_groups_create) | **POST** /catalogs/product_groups | Create product group +*CatalogsApi* | [**catalogs_product_groups_delete**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_groups_delete) | **DELETE** /catalogs/product_groups/{product_group_id} | Delete product group +*CatalogsApi* | [**catalogs_product_groups_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_groups_get) | **GET** /catalogs/product_groups/{product_group_id} | Get product group +*CatalogsApi* | [**catalogs_product_groups_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_groups_list) | **GET** /catalogs/product_groups | List product groups +*CatalogsApi* | [**catalogs_product_groups_product_counts_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_groups_product_counts_get) | **GET** /catalogs/product_groups/{product_group_id}/product_counts | Get product counts +*CatalogsApi* | [**catalogs_product_groups_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#catalogs_product_groups_update) | **PATCH** /catalogs/product_groups/{product_group_id} | Update product group +*CatalogsApi* | [**feed_processing_results_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#feed_processing_results_list) | **GET** /catalogs/feeds/{feed_id}/processing_results | List processing results for a given feed +*CatalogsApi* | [**feeds_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#feeds_create) | **POST** /catalogs/feeds | Create feed +*CatalogsApi* | [**feeds_delete**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#feeds_delete) | **DELETE** /catalogs/feeds/{feed_id} | Delete feed +*CatalogsApi* | [**feeds_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#feeds_get) | **GET** /catalogs/feeds/{feed_id} | Get feed +*CatalogsApi* | [**feeds_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#feeds_list) | **GET** /catalogs/feeds | List feeds +*CatalogsApi* | [**feeds_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#feeds_update) | **PATCH** /catalogs/feeds/{feed_id} | Update feed +*CatalogsApi* | [**items_batch_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#items_batch_get) | **GET** /catalogs/items/batch/{batch_id} | Get catalogs items batch +*CatalogsApi* | [**items_batch_post**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#items_batch_post) | **POST** /catalogs/items/batch | Operate on item batch +*CatalogsApi* | [**items_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#items_get) | **GET** /catalogs/items | Get catalogs items +*CatalogsApi* | [**items_issues_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#items_issues_list) | **GET** /catalogs/processing_results/{processing_result_id}/item_issues | List item issues for a given processing result +*CatalogsApi* | [**products_by_product_group_filter_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsApi.md#products_by_product_group_filter_list) | **POST** /catalogs/products/get_by_product_group_filters | List filtered products +*ConversionEventsApi* | [**events_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsApi.md#events_create) | **POST** /ad_accounts/{ad_account_id}/events | Send conversion events to the Pinterest API for Conversions +*CustomerListsApi* | [**customer_lists_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerListsApi.md#customer_lists_create) | **POST** /ad_accounts/{ad_account_id}/customer_lists | Create customer lists +*CustomerListsApi* | [**customer_lists_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerListsApi.md#customer_lists_get) | **GET** /ad_accounts/{ad_account_id}/customer_lists/{customer_list_id} | Get customer list +*CustomerListsApi* | [**customer_lists_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerListsApi.md#customer_lists_list) | **GET** /ad_accounts/{ad_account_id}/customer_lists | Get customer lists +*CustomerListsApi* | [**customer_lists_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerListsApi.md#customer_lists_update) | **PATCH** /ad_accounts/{ad_account_id}/customer_lists/{customer_list_id} | Update customer list +*KeywordsApi* | [**country_keywords_metrics_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsApi.md#country_keywords_metrics_get) | **GET** /ad_accounts/{ad_account_id}/keywords/metrics | Get country's keyword metrics +*KeywordsApi* | [**keywords_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsApi.md#keywords_create) | **POST** /ad_accounts/{ad_account_id}/keywords | Create keywords +*KeywordsApi* | [**keywords_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsApi.md#keywords_get) | **GET** /ad_accounts/{ad_account_id}/keywords | Get keywords +*KeywordsApi* | [**keywords_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsApi.md#keywords_update) | **PATCH** /ad_accounts/{ad_account_id}/keywords | Update keywords +*MediaApi* | [**media_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaApi.md#media_create) | **POST** /media | Register media upload +*MediaApi* | [**media_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaApi.md#media_get) | **GET** /media/{media_id} | Get media upload details +*MediaApi* | [**media_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaApi.md#media_list) | **GET** /media | List media uploads +*OauthApi* | [**oauth_token**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthApi.md#oauth_token) | **POST** /oauth/token | Generate OAuth access token +*PinsApi* | [**pins_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinsApi.md#pins_analytics) | **GET** /pins/{pin_id}/analytics | Get Pin analytics +*PinsApi* | [**pins_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinsApi.md#pins_create) | **POST** /pins | Create Pin +*PinsApi* | [**pins_delete**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinsApi.md#pins_delete) | **DELETE** /pins/{pin_id} | Delete Pin +*PinsApi* | [**pins_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinsApi.md#pins_get) | **GET** /pins/{pin_id} | Get Pin +*PinsApi* | [**pins_save**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinsApi.md#pins_save) | **POST** /pins/{pin_id}/save | Save pin +*ProductGroupPromotionsApi* | [**product_group_promotion_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionsApi.md#product_group_promotion_get) | **GET** /ad_accounts/{ad_account_id}/product_group_promotions/{product_group_promotion_id} | Get a product group promotion by id +*ProductGroupPromotionsApi* | [**product_group_promotions_create**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionsApi.md#product_group_promotions_create) | **POST** /ad_accounts/{ad_account_id}/product_group_promotions | Create product group promotions +*ProductGroupPromotionsApi* | [**product_group_promotions_update**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionsApi.md#product_group_promotions_update) | **PATCH** /ad_accounts/{ad_account_id}/product_group_promotions | Update product group promotions +*ProductGroupPromotionsApi* | [**product_groups_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionsApi.md#product_groups_analytics) | **GET** /ad_accounts/{ad_account_id}/product_groups/analytics | Get product group analytics +*ResourcesApi* | [**ad_account_countries_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ResourcesApi.md#ad_account_countries_get) | **GET** /resources/ad_account_countries | Get ad accounts countries +*ResourcesApi* | [**delivery_metrics_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ResourcesApi.md#delivery_metrics_get) | **GET** /resources/delivery_metrics | Get available delivery metrics' definitions +*ResourcesApi* | [**interest_targeting_options_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ResourcesApi.md#interest_targeting_options_get) | **GET** /resources/targeting/interests/{interest_id} | Get interest details +*ResourcesApi* | [**metrics_ready_state_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ResourcesApi.md#metrics_ready_state_get) | **GET** /resources/metrics_ready_state | Get metrics ready state +*ResourcesApi* | [**targeting_options_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ResourcesApi.md#targeting_options_get) | **GET** /resources/targeting/{targeting_type} | Get targeting options +*TermsApi* | [**terms_related_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TermsApi.md#terms_related_list) | **GET** /terms/related | List related terms +*TermsApi* | [**terms_suggested_list**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TermsApi.md#terms_suggested_list) | **GET** /terms/suggested | List suggested terms +*TermsOfServiceApi* | [**terms_of_service_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TermsOfServiceApi.md#terms_of_service_get) | **GET** /ad_accounts/{ad_account_id}/terms_of_service | Get terms of service +*UserAccountApi* | [**user_account_analytics**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UserAccountApi.md#user_account_analytics) | **GET** /user_account/analytics | Get user account analytics +*UserAccountApi* | [**user_account_analytics_top_pins**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UserAccountApi.md#user_account_analytics_top_pins) | **GET** /user_account/analytics/top_pins | Get user account top pins analytics +*UserAccountApi* | [**user_account_analytics_top_video_pins**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UserAccountApi.md#user_account_analytics_top_video_pins) | **GET** /user_account/analytics/top_video_pins | Get user account top video pins analytics +*UserAccountApi* | [**user_account_get**](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UserAccountApi.md#user_account_get) | **GET** /user_account | Get user account ## Documentation For Models - - [Account](docs/Account.md) - - [ActionType](docs/ActionType.md) - - [AdAccount](docs/AdAccount.md) - - [AdAccountAnalyticsResponse](docs/AdAccountAnalyticsResponse.md) - - [AdAccountCreateRequest](docs/AdAccountCreateRequest.md) - - [AdAccountOwner](docs/AdAccountOwner.md) - - [AdAccountsCountryResponse](docs/AdAccountsCountryResponse.md) - - [AdAccountsCountryResponseData](docs/AdAccountsCountryResponseData.md) - - [AdArrayResponse](docs/AdArrayResponse.md) - - [AdArrayResponseElement](docs/AdArrayResponseElement.md) - - [AdCommon](docs/AdCommon.md) - - [AdCreateRequest](docs/AdCreateRequest.md) - - [AdGroupArrayResponse](docs/AdGroupArrayResponse.md) - - [AdGroupArrayResponseElement](docs/AdGroupArrayResponseElement.md) - - [AdGroupCommon](docs/AdGroupCommon.md) - - [AdGroupCreateRequest](docs/AdGroupCreateRequest.md) - - [AdGroupCreateRequestAllOf](docs/AdGroupCreateRequestAllOf.md) - - [AdGroupResponse](docs/AdGroupResponse.md) - - [AdGroupResponseAllOf](docs/AdGroupResponseAllOf.md) - - [AdGroupSummaryStatus](docs/AdGroupSummaryStatus.md) - - [AdGroupUpdateRequest](docs/AdGroupUpdateRequest.md) - - [AdGroupUpdateRequestAllOf](docs/AdGroupUpdateRequestAllOf.md) - - [AdGroupsAnalyticsResponse](docs/AdGroupsAnalyticsResponse.md) - - [AdPreviewCreateFromImage](docs/AdPreviewCreateFromImage.md) - - [AdPreviewCreateFromPin](docs/AdPreviewCreateFromPin.md) - - [AdPreviewRequest](docs/AdPreviewRequest.md) - - [AdPreviewURLResponse](docs/AdPreviewURLResponse.md) - - [AdResponse](docs/AdResponse.md) - - [AdResponseAllOf](docs/AdResponseAllOf.md) - - [AdUpdateRequest](docs/AdUpdateRequest.md) - - [AdUpdateRequest1](docs/AdUpdateRequest1.md) - - [AdsAnalyticsCreateAsyncRequest](docs/AdsAnalyticsCreateAsyncRequest.md) - - [AdsAnalyticsCreateAsyncRequestAllOf](docs/AdsAnalyticsCreateAsyncRequestAllOf.md) - - [AdsAnalyticsCreateAsyncRequestAllOf1](docs/AdsAnalyticsCreateAsyncRequestAllOf1.md) - - [AdsAnalyticsCreateAsyncResponse](docs/AdsAnalyticsCreateAsyncResponse.md) - - [AdsAnalyticsFilterColumn](docs/AdsAnalyticsFilterColumn.md) - - [AdsAnalyticsFilterOperator](docs/AdsAnalyticsFilterOperator.md) - - [AdsAnalyticsGetAsyncResponse](docs/AdsAnalyticsGetAsyncResponse.md) - - [AdsAnalyticsMetricsFilter](docs/AdsAnalyticsMetricsFilter.md) - - [AdsAnalyticsResponse](docs/AdsAnalyticsResponse.md) - - [AdsAnalyticsTargetingType](docs/AdsAnalyticsTargetingType.md) - - [AnalyticsMetricsResponse](docs/AnalyticsMetricsResponse.md) - - [AnalyticsMetricsResponseDailyMetrics](docs/AnalyticsMetricsResponseDailyMetrics.md) - - [AnalyticsResponse](docs/AnalyticsResponse.md) - - [Audience](docs/Audience.md) - - [AudienceCommon](docs/AudienceCommon.md) - - [AudienceCreateRequest](docs/AudienceCreateRequest.md) - - [AudienceCreateRequest1](docs/AudienceCreateRequest1.md) - - [AudienceInsightCategoryCommon](docs/AudienceInsightCategoryCommon.md) - - [AudienceRule](docs/AudienceRule.md) - - [AudienceType](docs/AudienceType.md) - - [AudienceUpdateOperationType](docs/AudienceUpdateOperationType.md) - - [AudienceUpdateRequest](docs/AudienceUpdateRequest.md) - - [AudienceUpdateRequest1](docs/AudienceUpdateRequest1.md) - - [AvailabilityFilter](docs/AvailabilityFilter.md) - - [BatchOperation](docs/BatchOperation.md) - - [BatchOperationStatus](docs/BatchOperationStatus.md) - - [BidFloor](docs/BidFloor.md) - - [BidFloorRequest](docs/BidFloorRequest.md) - - [BidFloorSpec](docs/BidFloorSpec.md) - - [Board](docs/Board.md) - - [BoardOwner](docs/BoardOwner.md) - - [BoardSection](docs/BoardSection.md) - - [BoardUpdate](docs/BoardUpdate.md) - - [BookClosedResponse](docs/BookClosedResponse.md) - - [BrandFilter](docs/BrandFilter.md) - - [BudgetType](docs/BudgetType.md) - - [BulkDownloadRequest](docs/BulkDownloadRequest.md) - - [BulkDownloadRequestCampaignFilter](docs/BulkDownloadRequestCampaignFilter.md) - - [BulkDownloadResponse](docs/BulkDownloadResponse.md) - - [BulkEntityType](docs/BulkEntityType.md) - - [BulkOutputFormat](docs/BulkOutputFormat.md) - - [BulkUpsertRequest](docs/BulkUpsertRequest.md) - - [BulkUpsertRequestCreate](docs/BulkUpsertRequestCreate.md) - - [BulkUpsertRequestUpdate](docs/BulkUpsertRequestUpdate.md) - - [BulkUpsertResponse](docs/BulkUpsertResponse.md) - - [BulkUpsertStatus](docs/BulkUpsertStatus.md) - - [BulkUpsertStatusResponse](docs/BulkUpsertStatusResponse.md) - - [CampaignCommon](docs/CampaignCommon.md) - - [CampaignCreateCommon](docs/CampaignCreateCommon.md) - - [CampaignCreateCommonAllOf](docs/CampaignCreateCommonAllOf.md) - - [CampaignCreateRequest](docs/CampaignCreateRequest.md) - - [CampaignCreateRequestAllOf](docs/CampaignCreateRequestAllOf.md) - - [CampaignCreateResponse](docs/CampaignCreateResponse.md) - - [CampaignCreateResponseData](docs/CampaignCreateResponseData.md) - - [CampaignCreateResponseDataAllOf](docs/CampaignCreateResponseDataAllOf.md) - - [CampaignCreateResponseItem](docs/CampaignCreateResponseItem.md) - - [CampaignId](docs/CampaignId.md) - - [CampaignResponse](docs/CampaignResponse.md) - - [CampaignResponseAllOf](docs/CampaignResponseAllOf.md) - - [CampaignSummaryStatus](docs/CampaignSummaryStatus.md) - - [CampaignUpdateRequest](docs/CampaignUpdateRequest.md) - - [CampaignUpdateRequestAllOf](docs/CampaignUpdateRequestAllOf.md) - - [CampaignUpdateResponse](docs/CampaignUpdateResponse.md) - - [CampaignsAnalyticsResponse](docs/CampaignsAnalyticsResponse.md) - - [CatalogsDbItem](docs/CatalogsDbItem.md) - - [CatalogsFeed](docs/CatalogsFeed.md) - - [CatalogsFeedCredentials](docs/CatalogsFeedCredentials.md) - - [CatalogsFeedIngestionDetails](docs/CatalogsFeedIngestionDetails.md) - - [CatalogsFeedIngestionErrors](docs/CatalogsFeedIngestionErrors.md) - - [CatalogsFeedIngestionInfo](docs/CatalogsFeedIngestionInfo.md) - - [CatalogsFeedProcessingResult](docs/CatalogsFeedProcessingResult.md) - - [CatalogsFeedProcessingResultFields](docs/CatalogsFeedProcessingResultFields.md) - - [CatalogsFeedProcessingSchedule](docs/CatalogsFeedProcessingSchedule.md) - - [CatalogsFeedProcessingStatus](docs/CatalogsFeedProcessingStatus.md) - - [CatalogsFeedProductCounts](docs/CatalogsFeedProductCounts.md) - - [CatalogsFeedValidationDetails](docs/CatalogsFeedValidationDetails.md) - - [CatalogsFeedValidationErrors](docs/CatalogsFeedValidationErrors.md) - - [CatalogsFeedValidationWarnings](docs/CatalogsFeedValidationWarnings.md) - - [CatalogsFeedsCreateRequest](docs/CatalogsFeedsCreateRequest.md) - - [CatalogsFeedsUpdateRequest](docs/CatalogsFeedsUpdateRequest.md) - - [CatalogsFormat](docs/CatalogsFormat.md) - - [CatalogsItemValidationDetails](docs/CatalogsItemValidationDetails.md) - - [CatalogsItemValidationErrors](docs/CatalogsItemValidationErrors.md) - - [CatalogsItemValidationIssue](docs/CatalogsItemValidationIssue.md) - - [CatalogsItemValidationIssues](docs/CatalogsItemValidationIssues.md) - - [CatalogsItemValidationWarnings](docs/CatalogsItemValidationWarnings.md) - - [CatalogsItems](docs/CatalogsItems.md) - - [CatalogsItemsBatch](docs/CatalogsItemsBatch.md) - - [CatalogsItemsBatchRequest](docs/CatalogsItemsBatchRequest.md) - - [CatalogsItemsCreateBatchRequest](docs/CatalogsItemsCreateBatchRequest.md) - - [CatalogsItemsDeleteDiscontinuedBatchRequest](docs/CatalogsItemsDeleteDiscontinuedBatchRequest.md) - - [CatalogsItemsUpdateBatchRequest](docs/CatalogsItemsUpdateBatchRequest.md) - - [CatalogsListProductsByFilterRequest](docs/CatalogsListProductsByFilterRequest.md) - - [CatalogsListProductsByFilterRequestOneOf](docs/CatalogsListProductsByFilterRequestOneOf.md) - - [CatalogsProduct](docs/CatalogsProduct.md) - - [CatalogsProductGroup](docs/CatalogsProductGroup.md) - - [CatalogsProductGroupCreateRequest](docs/CatalogsProductGroupCreateRequest.md) - - [CatalogsProductGroupCurrencyCriteria](docs/CatalogsProductGroupCurrencyCriteria.md) - - [CatalogsProductGroupFeedBasedCase](docs/CatalogsProductGroupFeedBasedCase.md) - - [CatalogsProductGroupFilterKeys](docs/CatalogsProductGroupFilterKeys.md) - - [CatalogsProductGroupFilters](docs/CatalogsProductGroupFilters.md) - - [CatalogsProductGroupFiltersAllOf](docs/CatalogsProductGroupFiltersAllOf.md) - - [CatalogsProductGroupFiltersAllOfRequest](docs/CatalogsProductGroupFiltersAllOfRequest.md) - - [CatalogsProductGroupFiltersAllOfRequestAnyOf](docs/CatalogsProductGroupFiltersAllOfRequestAnyOf.md) - - [CatalogsProductGroupFiltersAllOfRequestAnyOf1](docs/CatalogsProductGroupFiltersAllOfRequestAnyOf1.md) - - [CatalogsProductGroupFiltersAnyOf](docs/CatalogsProductGroupFiltersAnyOf.md) - - [CatalogsProductGroupMerchantBasedCase](docs/CatalogsProductGroupMerchantBasedCase.md) - - [CatalogsProductGroupMultipleStringCriteria](docs/CatalogsProductGroupMultipleStringCriteria.md) - - [CatalogsProductGroupMultipleStringListCriteria](docs/CatalogsProductGroupMultipleStringListCriteria.md) - - [CatalogsProductGroupPricingCriteria](docs/CatalogsProductGroupPricingCriteria.md) - - [CatalogsProductGroupProductCounts](docs/CatalogsProductGroupProductCounts.md) - - [CatalogsProductGroupStatus](docs/CatalogsProductGroupStatus.md) - - [CatalogsProductGroupType](docs/CatalogsProductGroupType.md) - - [CatalogsProductGroupUpdateRequest](docs/CatalogsProductGroupUpdateRequest.md) - - [CatalogsProductMetadata](docs/CatalogsProductMetadata.md) - - [CatalogsStatus](docs/CatalogsStatus.md) - - [ConditionFilter](docs/ConditionFilter.md) - - [ConversionApiResponse](docs/ConversionApiResponse.md) - - [ConversionApiResponseEvents](docs/ConversionApiResponseEvents.md) - - [ConversionAttributionWindowDays](docs/ConversionAttributionWindowDays.md) - - [ConversionEvents](docs/ConversionEvents.md) - - [ConversionEventsCustomData](docs/ConversionEventsCustomData.md) - - [ConversionEventsCustomDataContents](docs/ConversionEventsCustomDataContents.md) - - [ConversionEventsData](docs/ConversionEventsData.md) - - [ConversionEventsUserData](docs/ConversionEventsUserData.md) - - [ConversionEventsUserDataAnyOf](docs/ConversionEventsUserDataAnyOf.md) - - [ConversionEventsUserDataAnyOf1](docs/ConversionEventsUserDataAnyOf1.md) - - [ConversionEventsUserDataAnyOf2](docs/ConversionEventsUserDataAnyOf2.md) - - [ConversionReportAttributionType](docs/ConversionReportAttributionType.md) - - [ConversionReportTimeType](docs/ConversionReportTimeType.md) - - [Country](docs/Country.md) - - [CreativeType](docs/CreativeType.md) - - [Currency](docs/Currency.md) - - [CurrencyFilter](docs/CurrencyFilter.md) - - [CustomLabel0Filter](docs/CustomLabel0Filter.md) - - [CustomLabel1Filter](docs/CustomLabel1Filter.md) - - [CustomLabel2Filter](docs/CustomLabel2Filter.md) - - [CustomLabel3Filter](docs/CustomLabel3Filter.md) - - [CustomLabel4Filter](docs/CustomLabel4Filter.md) - - [CustomerList](docs/CustomerList.md) - - [CustomerListRequest](docs/CustomerListRequest.md) - - [CustomerListUpdateRequest](docs/CustomerListUpdateRequest.md) - - [DataOutputFormat](docs/DataOutputFormat.md) - - [DataStatus](docs/DataStatus.md) - - [DeliveryMetricsResponse](docs/DeliveryMetricsResponse.md) - - [DeliveryMetricsResponseItems](docs/DeliveryMetricsResponseItems.md) - - [EntityStatus](docs/EntityStatus.md) - - [Error](docs/Error.md) - - [Exception](docs/Exception.md) - - [FeedFields](docs/FeedFields.md) - - [GenderFilter](docs/GenderFilter.md) - - [GetAudiencesOrderBy](docs/GetAudiencesOrderBy.md) - - [GoogleProductCategory0Filter](docs/GoogleProductCategory0Filter.md) - - [GoogleProductCategory1Filter](docs/GoogleProductCategory1Filter.md) - - [GoogleProductCategory2Filter](docs/GoogleProductCategory2Filter.md) - - [GoogleProductCategory3Filter](docs/GoogleProductCategory3Filter.md) - - [GoogleProductCategory4Filter](docs/GoogleProductCategory4Filter.md) - - [GoogleProductCategory5Filter](docs/GoogleProductCategory5Filter.md) - - [GoogleProductCategory6Filter](docs/GoogleProductCategory6Filter.md) - - [Granularity](docs/Granularity.md) - - [ImageDetails](docs/ImageDetails.md) - - [InlineObject](docs/InlineObject.md) - - [ItemAttributes](docs/ItemAttributes.md) - - [ItemAttributesAllOf](docs/ItemAttributesAllOf.md) - - [ItemBatchRecord](docs/ItemBatchRecord.md) - - [ItemCreateBatchRecord](docs/ItemCreateBatchRecord.md) - - [ItemDeleteDiscontinuedBatchRecord](docs/ItemDeleteDiscontinuedBatchRecord.md) - - [ItemGroupIdFilter](docs/ItemGroupIdFilter.md) - - [ItemIdFilter](docs/ItemIdFilter.md) - - [ItemProcessingRecord](docs/ItemProcessingRecord.md) - - [ItemProcessingStatus](docs/ItemProcessingStatus.md) - - [ItemResponse](docs/ItemResponse.md) - - [ItemResponseAnyOf](docs/ItemResponseAnyOf.md) - - [ItemResponseAnyOf1](docs/ItemResponseAnyOf1.md) - - [ItemUpdateBatchRecord](docs/ItemUpdateBatchRecord.md) - - [ItemValidationEvent](docs/ItemValidationEvent.md) - - [Keyword](docs/Keyword.md) - - [KeywordError](docs/KeywordError.md) - - [KeywordMetrics](docs/KeywordMetrics.md) - - [KeywordMetricsResponse](docs/KeywordMetricsResponse.md) - - [KeywordUpdate](docs/KeywordUpdate.md) - - [KeywordUpdateBody](docs/KeywordUpdateBody.md) - - [KeywordsCommon](docs/KeywordsCommon.md) - - [KeywordsMetricsArrayResponse](docs/KeywordsMetricsArrayResponse.md) - - [KeywordsRequest](docs/KeywordsRequest.md) - - [KeywordsResponse](docs/KeywordsResponse.md) - - [Language](docs/Language.md) - - [LineItem](docs/LineItem.md) - - [MatchType](docs/MatchType.md) - - [MatchTypeResponse](docs/MatchTypeResponse.md) - - [MaxPriceFilter](docs/MaxPriceFilter.md) - - [MediaUpload](docs/MediaUpload.md) - - [MediaUploadAllOf](docs/MediaUploadAllOf.md) - - [MediaUploadAllOfUploadParameters](docs/MediaUploadAllOfUploadParameters.md) - - [MediaUploadDetails](docs/MediaUploadDetails.md) - - [MediaUploadRequest](docs/MediaUploadRequest.md) - - [MediaUploadStatus](docs/MediaUploadStatus.md) - - [MediaUploadType](docs/MediaUploadType.md) - - [Metrics](docs/Metrics.md) - - [MetricsReportingLevel](docs/MetricsReportingLevel.md) - - [MetricsResponse](docs/MetricsResponse.md) - - [MinPriceFilter](docs/MinPriceFilter.md) - - [NonNullableCatalogsCurrency](docs/NonNullableCatalogsCurrency.md) - - [NonNullableProductAvailabilityType](docs/NonNullableProductAvailabilityType.md) - - [NullableCatalogsItemFieldType](docs/NullableCatalogsItemFieldType.md) - - [NullableCurrency](docs/NullableCurrency.md) - - [OauthAccessTokenRequestCode](docs/OauthAccessTokenRequestCode.md) - - [OauthAccessTokenRequestCodeAllOf](docs/OauthAccessTokenRequestCodeAllOf.md) - - [OauthAccessTokenRequestRefresh](docs/OauthAccessTokenRequestRefresh.md) - - [OauthAccessTokenRequestRefreshAllOf](docs/OauthAccessTokenRequestRefreshAllOf.md) - - [OauthAccessTokenResponse](docs/OauthAccessTokenResponse.md) - - [OauthAccessTokenResponseCode](docs/OauthAccessTokenResponseCode.md) - - [OauthAccessTokenResponseCodeAllOf](docs/OauthAccessTokenResponseCodeAllOf.md) - - [OauthAccessTokenResponseRefresh](docs/OauthAccessTokenResponseRefresh.md) - - [ObjectiveType](docs/ObjectiveType.md) - - [PacingDeliveryType](docs/PacingDeliveryType.md) - - [Paginated](docs/Paginated.md) - - [Pin](docs/Pin.md) - - [PinMedia](docs/PinMedia.md) - - [PinMediaSource](docs/PinMediaSource.md) - - [PinMediaSourceImageBase64](docs/PinMediaSourceImageBase64.md) - - [PinMediaSourceImageURL](docs/PinMediaSourceImageURL.md) - - [PinMediaSourceVideoID](docs/PinMediaSourceVideoID.md) - - [PinMediaWithImage](docs/PinMediaWithImage.md) - - [PinMediaWithImageAllOf](docs/PinMediaWithImageAllOf.md) - - [PinMediaWithVideo](docs/PinMediaWithVideo.md) - - [PinMediaWithVideoAllOf](docs/PinMediaWithVideoAllOf.md) - - [PinPromotionSummaryStatus](docs/PinPromotionSummaryStatus.md) - - [PinterestTagEventData](docs/PinterestTagEventData.md) - - [PlacementGroupType](docs/PlacementGroupType.md) - - [ProductAvailabilityType](docs/ProductAvailabilityType.md) - - [ProductGroupAnalyticsResponse](docs/ProductGroupAnalyticsResponse.md) - - [ProductGroupPromotion](docs/ProductGroupPromotion.md) - - [ProductGroupPromotionArrayElement](docs/ProductGroupPromotionArrayElement.md) - - [ProductGroupPromotionArrayResponse](docs/ProductGroupPromotionArrayResponse.md) - - [ProductGroupPromotionCommon](docs/ProductGroupPromotionCommon.md) - - [ProductGroupPromotionCreateRequest](docs/ProductGroupPromotionCreateRequest.md) - - [ProductGroupPromotionUpdateItem](docs/ProductGroupPromotionUpdateItem.md) - - [ProductGroupPromotionUpdateRequest](docs/ProductGroupPromotionUpdateRequest.md) - - [ProductGroupPromotionUpdateResponseItem](docs/ProductGroupPromotionUpdateResponseItem.md) - - [ProductGroupSummaryStatus](docs/ProductGroupSummaryStatus.md) - - [ProductGroupsCreateRequestFeedBaseCase](docs/ProductGroupsCreateRequestFeedBaseCase.md) - - [ProductType0Filter](docs/ProductType0Filter.md) - - [ProductType1Filter](docs/ProductType1Filter.md) - - [ProductType2Filter](docs/ProductType2Filter.md) - - [ProductType3Filter](docs/ProductType3Filter.md) - - [ProductType4Filter](docs/ProductType4Filter.md) - - [RelatedTerms](docs/RelatedTerms.md) - - [RelatedTermsRelatedTermsList](docs/RelatedTermsRelatedTermsList.md) - - [ReportingColumnAsync](docs/ReportingColumnAsync.md) - - [SingleInterestTargetingOptionResponse](docs/SingleInterestTargetingOptionResponse.md) - - [TargetingOptionResponse](docs/TargetingOptionResponse.md) - - [TargetingSpec](docs/TargetingSpec.md) - - [TargetingSpec1](docs/TargetingSpec1.md) - - [TargetingSpecSHOPPINGRETARGETING](docs/TargetingSpecSHOPPINGRETARGETING.md) - - [TargetingSpecSHOPPINGRETARGETING1](docs/TargetingSpecSHOPPINGRETARGETING1.md) - - [TargetingTypeFilter](docs/TargetingTypeFilter.md) - - [TermsOfService](docs/TermsOfService.md) - - [TermsSuggestedResponse](docs/TermsSuggestedResponse.md) - - [TopPinsAnalyticsResponse](docs/TopPinsAnalyticsResponse.md) - - [TopPinsAnalyticsResponseDateAvailability](docs/TopPinsAnalyticsResponseDateAvailability.md) - - [TopPinsAnalyticsResponsePins](docs/TopPinsAnalyticsResponsePins.md) - - [TopVideoPinsAnalyticsResponse](docs/TopVideoPinsAnalyticsResponse.md) - - [TopVideoPinsAnalyticsResponsePins](docs/TopVideoPinsAnalyticsResponsePins.md) - - [TrackingUrls](docs/TrackingUrls.md) - - [UpdatableItemAttributes](docs/UpdatableItemAttributes.md) - - [UserListOperationType](docs/UserListOperationType.md) - - [UserListType](docs/UserListType.md) + - [Account](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Account.md) + - [ActionType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ActionType.md) + - [AdAccount](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccount.md) + - [AdAccountAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountAnalyticsResponse.md) + - [AdAccountCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountCreateRequest.md) + - [AdAccountOwner](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountOwner.md) + - [AdAccountsCountryResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsCountryResponse.md) + - [AdAccountsCountryResponseData](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdAccountsCountryResponseData.md) + - [AdArrayResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdArrayResponse.md) + - [AdArrayResponseElement](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdArrayResponseElement.md) + - [AdCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdCommon.md) + - [AdCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdCreateRequest.md) + - [AdGroupArrayResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupArrayResponse.md) + - [AdGroupArrayResponseElement](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupArrayResponseElement.md) + - [AdGroupCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupCommon.md) + - [AdGroupCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupCreateRequest.md) + - [AdGroupCreateRequestAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupCreateRequestAllOf.md) + - [AdGroupResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupResponse.md) + - [AdGroupResponseAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupResponseAllOf.md) + - [AdGroupSummaryStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupSummaryStatus.md) + - [AdGroupUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupUpdateRequest.md) + - [AdGroupUpdateRequestAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupUpdateRequestAllOf.md) + - [AdGroupsAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdGroupsAnalyticsResponse.md) + - [AdPreviewCreateFromImage](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdPreviewCreateFromImage.md) + - [AdPreviewCreateFromPin](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdPreviewCreateFromPin.md) + - [AdPreviewRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdPreviewRequest.md) + - [AdPreviewURLResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdPreviewURLResponse.md) + - [AdResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdResponse.md) + - [AdResponseAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdResponseAllOf.md) + - [AdUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdUpdateRequest.md) + - [AdUpdateRequest1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdUpdateRequest1.md) + - [AdsAnalyticsCreateAsyncRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsCreateAsyncRequest.md) + - [AdsAnalyticsCreateAsyncRequestAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsCreateAsyncRequestAllOf.md) + - [AdsAnalyticsCreateAsyncRequestAllOf1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsCreateAsyncRequestAllOf1.md) + - [AdsAnalyticsCreateAsyncResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsCreateAsyncResponse.md) + - [AdsAnalyticsFilterColumn](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsFilterColumn.md) + - [AdsAnalyticsFilterOperator](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsFilterOperator.md) + - [AdsAnalyticsGetAsyncResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsGetAsyncResponse.md) + - [AdsAnalyticsMetricsFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsMetricsFilter.md) + - [AdsAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsResponse.md) + - [AdsAnalyticsTargetingType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AdsAnalyticsTargetingType.md) + - [AnalyticsMetricsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AnalyticsMetricsResponse.md) + - [AnalyticsMetricsResponseDailyMetrics](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AnalyticsMetricsResponseDailyMetrics.md) + - [AnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AnalyticsResponse.md) + - [Audience](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Audience.md) + - [AudienceCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceCommon.md) + - [AudienceCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceCreateRequest.md) + - [AudienceCreateRequest1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceCreateRequest1.md) + - [AudienceInsightCategoryCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceInsightCategoryCommon.md) + - [AudienceRule](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceRule.md) + - [AudienceType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceType.md) + - [AudienceUpdateOperationType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceUpdateOperationType.md) + - [AudienceUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceUpdateRequest.md) + - [AudienceUpdateRequest1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AudienceUpdateRequest1.md) + - [AvailabilityFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/AvailabilityFilter.md) + - [BatchOperation](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BatchOperation.md) + - [BatchOperationStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BatchOperationStatus.md) + - [BidFloor](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BidFloor.md) + - [BidFloorRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BidFloorRequest.md) + - [BidFloorSpec](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BidFloorSpec.md) + - [Board](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Board.md) + - [BoardOwner](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardOwner.md) + - [BoardSection](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardSection.md) + - [BoardUpdate](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BoardUpdate.md) + - [BookClosedResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BookClosedResponse.md) + - [BrandFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BrandFilter.md) + - [BudgetType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BudgetType.md) + - [BulkDownloadRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkDownloadRequest.md) + - [BulkDownloadRequestCampaignFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkDownloadRequestCampaignFilter.md) + - [BulkDownloadResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkDownloadResponse.md) + - [BulkEntityType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkEntityType.md) + - [BulkOutputFormat](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkOutputFormat.md) + - [BulkUpsertRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkUpsertRequest.md) + - [BulkUpsertRequestCreate](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkUpsertRequestCreate.md) + - [BulkUpsertRequestUpdate](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkUpsertRequestUpdate.md) + - [BulkUpsertResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkUpsertResponse.md) + - [BulkUpsertStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkUpsertStatus.md) + - [BulkUpsertStatusResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/BulkUpsertStatusResponse.md) + - [CampaignCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCommon.md) + - [CampaignCreateCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateCommon.md) + - [CampaignCreateCommonAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateCommonAllOf.md) + - [CampaignCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateRequest.md) + - [CampaignCreateRequestAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateRequestAllOf.md) + - [CampaignCreateResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateResponse.md) + - [CampaignCreateResponseData](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateResponseData.md) + - [CampaignCreateResponseDataAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateResponseDataAllOf.md) + - [CampaignCreateResponseItem](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignCreateResponseItem.md) + - [CampaignId](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignId.md) + - [CampaignResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignResponse.md) + - [CampaignResponseAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignResponseAllOf.md) + - [CampaignSummaryStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignSummaryStatus.md) + - [CampaignUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignUpdateRequest.md) + - [CampaignUpdateRequestAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignUpdateRequestAllOf.md) + - [CampaignUpdateResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignUpdateResponse.md) + - [CampaignsAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CampaignsAnalyticsResponse.md) + - [CatalogsDbItem](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsDbItem.md) + - [CatalogsFeed](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeed.md) + - [CatalogsFeedCredentials](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedCredentials.md) + - [CatalogsFeedIngestionDetails](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedIngestionDetails.md) + - [CatalogsFeedIngestionErrors](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedIngestionErrors.md) + - [CatalogsFeedIngestionInfo](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedIngestionInfo.md) + - [CatalogsFeedProcessingResult](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedProcessingResult.md) + - [CatalogsFeedProcessingResultFields](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedProcessingResultFields.md) + - [CatalogsFeedProcessingSchedule](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedProcessingSchedule.md) + - [CatalogsFeedProcessingStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedProcessingStatus.md) + - [CatalogsFeedProductCounts](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedProductCounts.md) + - [CatalogsFeedValidationDetails](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedValidationDetails.md) + - [CatalogsFeedValidationErrors](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedValidationErrors.md) + - [CatalogsFeedValidationWarnings](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedValidationWarnings.md) + - [CatalogsFeedsCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedsCreateRequest.md) + - [CatalogsFeedsUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFeedsUpdateRequest.md) + - [CatalogsFormat](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsFormat.md) + - [CatalogsItemValidationDetails](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemValidationDetails.md) + - [CatalogsItemValidationErrors](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemValidationErrors.md) + - [CatalogsItemValidationIssue](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemValidationIssue.md) + - [CatalogsItemValidationIssues](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemValidationIssues.md) + - [CatalogsItemValidationWarnings](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemValidationWarnings.md) + - [CatalogsItems](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItems.md) + - [CatalogsItemsBatch](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemsBatch.md) + - [CatalogsItemsBatchRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemsBatchRequest.md) + - [CatalogsItemsCreateBatchRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemsCreateBatchRequest.md) + - [CatalogsItemsDeleteDiscontinuedBatchRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemsDeleteDiscontinuedBatchRequest.md) + - [CatalogsItemsUpdateBatchRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsItemsUpdateBatchRequest.md) + - [CatalogsListProductsByFilterRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsListProductsByFilterRequest.md) + - [CatalogsListProductsByFilterRequestOneOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsListProductsByFilterRequestOneOf.md) + - [CatalogsProduct](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProduct.md) + - [CatalogsProductGroup](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroup.md) + - [CatalogsProductGroupCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupCreateRequest.md) + - [CatalogsProductGroupCurrencyCriteria](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupCurrencyCriteria.md) + - [CatalogsProductGroupFeedBasedCase](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFeedBasedCase.md) + - [CatalogsProductGroupFilterKeys](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFilterKeys.md) + - [CatalogsProductGroupFilters](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFilters.md) + - [CatalogsProductGroupFiltersAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFiltersAllOf.md) + - [CatalogsProductGroupFiltersAllOfRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFiltersAllOfRequest.md) + - [CatalogsProductGroupFiltersAllOfRequestAnyOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFiltersAllOfRequestAnyOf.md) + - [CatalogsProductGroupFiltersAllOfRequestAnyOf1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFiltersAllOfRequestAnyOf1.md) + - [CatalogsProductGroupFiltersAnyOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupFiltersAnyOf.md) + - [CatalogsProductGroupMerchantBasedCase](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupMerchantBasedCase.md) + - [CatalogsProductGroupMultipleStringCriteria](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupMultipleStringCriteria.md) + - [CatalogsProductGroupMultipleStringListCriteria](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupMultipleStringListCriteria.md) + - [CatalogsProductGroupPricingCriteria](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupPricingCriteria.md) + - [CatalogsProductGroupProductCounts](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupProductCounts.md) + - [CatalogsProductGroupStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupStatus.md) + - [CatalogsProductGroupType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupType.md) + - [CatalogsProductGroupUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductGroupUpdateRequest.md) + - [CatalogsProductMetadata](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsProductMetadata.md) + - [CatalogsStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CatalogsStatus.md) + - [ConditionFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConditionFilter.md) + - [ConversionApiResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionApiResponse.md) + - [ConversionApiResponseEvents](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionApiResponseEvents.md) + - [ConversionAttributionWindowDays](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionAttributionWindowDays.md) + - [ConversionEvents](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEvents.md) + - [ConversionEventsCustomData](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsCustomData.md) + - [ConversionEventsCustomDataContents](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsCustomDataContents.md) + - [ConversionEventsData](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsData.md) + - [ConversionEventsUserData](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsUserData.md) + - [ConversionEventsUserDataAnyOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsUserDataAnyOf.md) + - [ConversionEventsUserDataAnyOf1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsUserDataAnyOf1.md) + - [ConversionEventsUserDataAnyOf2](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionEventsUserDataAnyOf2.md) + - [ConversionReportAttributionType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionReportAttributionType.md) + - [ConversionReportTimeType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ConversionReportTimeType.md) + - [Country](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Country.md) + - [CreativeType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CreativeType.md) + - [Currency](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Currency.md) + - [CurrencyFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CurrencyFilter.md) + - [CustomLabel0Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomLabel0Filter.md) + - [CustomLabel1Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomLabel1Filter.md) + - [CustomLabel2Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomLabel2Filter.md) + - [CustomLabel3Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomLabel3Filter.md) + - [CustomLabel4Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomLabel4Filter.md) + - [CustomerList](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerList.md) + - [CustomerListRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerListRequest.md) + - [CustomerListUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/CustomerListUpdateRequest.md) + - [DataOutputFormat](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/DataOutputFormat.md) + - [DataStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/DataStatus.md) + - [DeliveryMetricsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/DeliveryMetricsResponse.md) + - [DeliveryMetricsResponseItems](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/DeliveryMetricsResponseItems.md) + - [EntityStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/EntityStatus.md) + - [Error](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Error.md) + - [Exception](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Exception.md) + - [FeedFields](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/FeedFields.md) + - [GenderFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GenderFilter.md) + - [GetAudiencesOrderBy](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GetAudiencesOrderBy.md) + - [GoogleProductCategory0Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory0Filter.md) + - [GoogleProductCategory1Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory1Filter.md) + - [GoogleProductCategory2Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory2Filter.md) + - [GoogleProductCategory3Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory3Filter.md) + - [GoogleProductCategory4Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory4Filter.md) + - [GoogleProductCategory5Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory5Filter.md) + - [GoogleProductCategory6Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/GoogleProductCategory6Filter.md) + - [Granularity](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Granularity.md) + - [ImageDetails](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ImageDetails.md) + - [ImageMetadata](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ImageMetadata.md) + - [InlineObject](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/InlineObject.md) + - [ItemAttributes](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemAttributes.md) + - [ItemAttributesAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemAttributesAllOf.md) + - [ItemBatchRecord](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemBatchRecord.md) + - [ItemCreateBatchRecord](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemCreateBatchRecord.md) + - [ItemDeleteDiscontinuedBatchRecord](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemDeleteDiscontinuedBatchRecord.md) + - [ItemGroupIdFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemGroupIdFilter.md) + - [ItemIdFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemIdFilter.md) + - [ItemProcessingRecord](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemProcessingRecord.md) + - [ItemProcessingStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemProcessingStatus.md) + - [ItemResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemResponse.md) + - [ItemResponseAnyOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemResponseAnyOf.md) + - [ItemResponseAnyOf1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemResponseAnyOf1.md) + - [ItemUpdateBatchRecord](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemUpdateBatchRecord.md) + - [ItemValidationEvent](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ItemValidationEvent.md) + - [Keyword](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Keyword.md) + - [KeywordError](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordError.md) + - [KeywordMetrics](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordMetrics.md) + - [KeywordMetricsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordMetricsResponse.md) + - [KeywordUpdate](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordUpdate.md) + - [KeywordUpdateBody](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordUpdateBody.md) + - [KeywordsCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsCommon.md) + - [KeywordsMetricsArrayResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsMetricsArrayResponse.md) + - [KeywordsRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsRequest.md) + - [KeywordsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/KeywordsResponse.md) + - [Language](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Language.md) + - [LineItem](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/LineItem.md) + - [MatchType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MatchType.md) + - [MatchTypeResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MatchTypeResponse.md) + - [MaxPriceFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MaxPriceFilter.md) + - [MediaUpload](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUpload.md) + - [MediaUploadAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUploadAllOf.md) + - [MediaUploadAllOfUploadParameters](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUploadAllOfUploadParameters.md) + - [MediaUploadDetails](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUploadDetails.md) + - [MediaUploadRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUploadRequest.md) + - [MediaUploadStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUploadStatus.md) + - [MediaUploadType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MediaUploadType.md) + - [Metrics](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Metrics.md) + - [MetricsReportingLevel](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MetricsReportingLevel.md) + - [MetricsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MetricsResponse.md) + - [MinPriceFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/MinPriceFilter.md) + - [NonNullableCatalogsCurrency](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/NonNullableCatalogsCurrency.md) + - [NonNullableProductAvailabilityType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/NonNullableProductAvailabilityType.md) + - [NullableCatalogsItemFieldType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/NullableCatalogsItemFieldType.md) + - [NullableCurrency](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/NullableCurrency.md) + - [OauthAccessTokenRequestCode](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenRequestCode.md) + - [OauthAccessTokenRequestCodeAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenRequestCodeAllOf.md) + - [OauthAccessTokenRequestRefresh](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenRequestRefresh.md) + - [OauthAccessTokenRequestRefreshAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenRequestRefreshAllOf.md) + - [OauthAccessTokenResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenResponse.md) + - [OauthAccessTokenResponseCode](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenResponseCode.md) + - [OauthAccessTokenResponseCodeAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenResponseCodeAllOf.md) + - [OauthAccessTokenResponseRefresh](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/OauthAccessTokenResponseRefresh.md) + - [ObjectiveType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ObjectiveType.md) + - [PacingDeliveryType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PacingDeliveryType.md) + - [Paginated](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Paginated.md) + - [Pin](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/Pin.md) + - [PinMedia](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMedia.md) + - [PinMediaMetadata](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaMetadata.md) + - [PinMediaSource](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaSource.md) + - [PinMediaSourceImageBase64](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaSourceImageBase64.md) + - [PinMediaSourceImageURL](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaSourceImageURL.md) + - [PinMediaSourceVideoID](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaSourceVideoID.md) + - [PinMediaWithImage](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithImage.md) + - [PinMediaWithImageAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithImageAllOf.md) + - [PinMediaWithImageAndVideo](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithImageAndVideo.md) + - [PinMediaWithImageAndVideoAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithImageAndVideoAllOf.md) + - [PinMediaWithImages](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithImages.md) + - [PinMediaWithImagesAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithImagesAllOf.md) + - [PinMediaWithVideo](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithVideo.md) + - [PinMediaWithVideoAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithVideoAllOf.md) + - [PinMediaWithVideos](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithVideos.md) + - [PinMediaWithVideosAllOf](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinMediaWithVideosAllOf.md) + - [PinPromotionSummaryStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinPromotionSummaryStatus.md) + - [PinterestTagEventData](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PinterestTagEventData.md) + - [PlacementGroupType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/PlacementGroupType.md) + - [ProductAvailabilityType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductAvailabilityType.md) + - [ProductGroupAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupAnalyticsResponse.md) + - [ProductGroupPromotion](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotion.md) + - [ProductGroupPromotionArrayElement](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionArrayElement.md) + - [ProductGroupPromotionArrayResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionArrayResponse.md) + - [ProductGroupPromotionCommon](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionCommon.md) + - [ProductGroupPromotionCreateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionCreateRequest.md) + - [ProductGroupPromotionUpdateItem](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionUpdateItem.md) + - [ProductGroupPromotionUpdateRequest](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionUpdateRequest.md) + - [ProductGroupPromotionUpdateResponseItem](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupPromotionUpdateResponseItem.md) + - [ProductGroupSummaryStatus](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupSummaryStatus.md) + - [ProductGroupsCreateRequestFeedBaseCase](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductGroupsCreateRequestFeedBaseCase.md) + - [ProductType0Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductType0Filter.md) + - [ProductType1Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductType1Filter.md) + - [ProductType2Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductType2Filter.md) + - [ProductType3Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductType3Filter.md) + - [ProductType4Filter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ProductType4Filter.md) + - [RelatedTerms](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/RelatedTerms.md) + - [RelatedTermsRelatedTermsList](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/RelatedTermsRelatedTermsList.md) + - [ReportingColumnAsync](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/ReportingColumnAsync.md) + - [SingleInterestTargetingOptionResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/SingleInterestTargetingOptionResponse.md) + - [TargetingOptionResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TargetingOptionResponse.md) + - [TargetingSpec](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TargetingSpec.md) + - [TargetingSpec1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TargetingSpec1.md) + - [TargetingSpecSHOPPINGRETARGETING](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TargetingSpecSHOPPINGRETARGETING.md) + - [TargetingSpecSHOPPINGRETARGETING1](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TargetingSpecSHOPPINGRETARGETING1.md) + - [TargetingTypeFilter](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TargetingTypeFilter.md) + - [TermsOfService](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TermsOfService.md) + - [TermsSuggestedResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TermsSuggestedResponse.md) + - [TopPinsAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TopPinsAnalyticsResponse.md) + - [TopPinsAnalyticsResponseDateAvailability](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TopPinsAnalyticsResponseDateAvailability.md) + - [TopPinsAnalyticsResponsePins](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TopPinsAnalyticsResponsePins.md) + - [TopVideoPinsAnalyticsResponse](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TopVideoPinsAnalyticsResponse.md) + - [TopVideoPinsAnalyticsResponsePins](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TopVideoPinsAnalyticsResponsePins.md) + - [TrackingUrls](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/TrackingUrls.md) + - [UpdatableItemAttributes](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UpdatableItemAttributes.md) + - [UserListOperationType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UserListOperationType.md) + - [UserListType](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/UserListType.md) + - [VideoMetadata](https://github.com/pinterest/pinterest-python-generated-api-client/blob/main/docs/VideoMetadata.md) ## Documentation For Authorization @@ -581,4 +592,3 @@ import pinterest.generated.client from pinterest.generated.client.apis import * from pinterest.generated.client.models import * ``` - diff --git a/docs/ImageMetadata.md b/docs/ImageMetadata.md new file mode 100644 index 0000000..1df6777 --- /dev/null +++ b/docs/ImageMetadata.md @@ -0,0 +1,13 @@ +# ImageMetadata + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_type** | **str** | | [optional] +**images** | [**{str: (ImageDetails,)}**](ImageDetails.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaMetadata.md b/docs/PinMediaMetadata.md new file mode 100644 index 0000000..9e994b6 --- /dev/null +++ b/docs/PinMediaMetadata.md @@ -0,0 +1,17 @@ +# PinMediaMetadata + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_type** | **str** | | [optional] +**images** | [**{str: (ImageDetails,)}**](ImageDetails.md) | | [optional] +**cover_image_url** | **str** | | [optional] +**duration** | **float** | Duration (in milliseconds) | [optional] +**height** | **int** | Height (in pixels) | [optional] +**width** | **int** | Width (in pixels) | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaWithImageAndVideo.md b/docs/PinMediaWithImageAndVideo.md new file mode 100644 index 0000000..5286714 --- /dev/null +++ b/docs/PinMediaWithImageAndVideo.md @@ -0,0 +1,14 @@ +# PinMediaWithImageAndVideo + +Pin with a mix of images and videos. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**[PinMediaMetadata]**](PinMediaMetadata.md) | | [optional] +**media_type** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaWithImageAndVideoAllOf.md b/docs/PinMediaWithImageAndVideoAllOf.md new file mode 100644 index 0000000..f13e7ac --- /dev/null +++ b/docs/PinMediaWithImageAndVideoAllOf.md @@ -0,0 +1,12 @@ +# PinMediaWithImageAndVideoAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**[PinMediaMetadata]**](PinMediaMetadata.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaWithImages.md b/docs/PinMediaWithImages.md new file mode 100644 index 0000000..f712bb1 --- /dev/null +++ b/docs/PinMediaWithImages.md @@ -0,0 +1,14 @@ +# PinMediaWithImages + +Pin with multiple images. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**[ImageMetadata]**](ImageMetadata.md) | | [optional] +**media_type** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaWithImagesAllOf.md b/docs/PinMediaWithImagesAllOf.md new file mode 100644 index 0000000..2a66ca8 --- /dev/null +++ b/docs/PinMediaWithImagesAllOf.md @@ -0,0 +1,12 @@ +# PinMediaWithImagesAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**[ImageMetadata]**](ImageMetadata.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaWithVideos.md b/docs/PinMediaWithVideos.md new file mode 100644 index 0000000..679d383 --- /dev/null +++ b/docs/PinMediaWithVideos.md @@ -0,0 +1,14 @@ +# PinMediaWithVideos + +Pin with multiple videos. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**[VideoMetadata]**](VideoMetadata.md) | | [optional] +**media_type** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PinMediaWithVideosAllOf.md b/docs/PinMediaWithVideosAllOf.md new file mode 100644 index 0000000..f862b9c --- /dev/null +++ b/docs/PinMediaWithVideosAllOf.md @@ -0,0 +1,12 @@ +# PinMediaWithVideosAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**[VideoMetadata]**](VideoMetadata.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/VideoMetadata.md b/docs/VideoMetadata.md new file mode 100644 index 0000000..ed22841 --- /dev/null +++ b/docs/VideoMetadata.md @@ -0,0 +1,16 @@ +# VideoMetadata + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_type** | **str** | | [optional] +**cover_image_url** | **str** | | [optional] +**duration** | **float** | Duration (in milliseconds) | [optional] +**height** | **int** | Height (in pixels) | [optional] +**width** | **int** | Width (in pixels) | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/pinterest/generated/client/__init__.py b/pinterest/generated/client/__init__.py index 9863249..464caac 100644 --- a/pinterest/generated/client/__init__.py +++ b/pinterest/generated/client/__init__.py @@ -11,7 +11,7 @@ """ -__version__ = "0.1.1" +__version__ = "0.1.2" # import ApiClient from pinterest.generated.client.api_client import ApiClient diff --git a/pinterest/generated/client/api_client.py b/pinterest/generated/client/api_client.py index c4dd85a..d466ce2 100644 --- a/pinterest/generated/client/api_client.py +++ b/pinterest/generated/client/api_client.py @@ -82,7 +82,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'pins-generated-client/python/0.1.1' + self.user_agent = 'pins-generated-client/python/0.1.2' def __enter__(self): return self diff --git a/pinterest/generated/client/configuration.py b/pinterest/generated/client/configuration.py index 5aa7966..9b36e74 100644 --- a/pinterest/generated/client/configuration.py +++ b/pinterest/generated/client/configuration.py @@ -419,7 +419,7 @@ def to_debug_report(self): "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 5.6.0\n"\ - "SDK Package Version: 0.1.1".\ + "SDK Package Version: 0.1.2".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/pinterest/generated/client/model/image_metadata.py b/pinterest/generated/client/model/image_metadata.py new file mode 100644 index 0000000..11770b3 --- /dev/null +++ b/pinterest/generated/client/model/image_metadata.py @@ -0,0 +1,266 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.image_details import ImageDetails + globals()['ImageDetails'] = ImageDetails + + +class ImageMetadata(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'item_type': (str,), # noqa: E501 + 'images': ({str: (ImageDetails,)},), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'item_type': 'item_type', # noqa: E501 + 'images': 'images', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ImageMetadata - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + item_type (str): [optional] # noqa: E501 + images ({str: (ImageDetails,)}): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ImageMetadata - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + item_type (str): [optional] # noqa: E501 + images ({str: (ImageDetails,)}): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/pinterest/generated/client/model/pin_media.py b/pinterest/generated/client/model/pin_media.py index 7a2b1c1..f32660f 100644 --- a/pinterest/generated/client/model/pin_media.py +++ b/pinterest/generated/client/model/pin_media.py @@ -32,9 +32,15 @@ def lazy_import(): from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage + from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo + from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo + from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos globals()['PinMediaWithImage'] = PinMediaWithImage + globals()['PinMediaWithImageAndVideo'] = PinMediaWithImageAndVideo + globals()['PinMediaWithImages'] = PinMediaWithImages globals()['PinMediaWithVideo'] = PinMediaWithVideo + globals()['PinMediaWithVideos'] = PinMediaWithVideos class PinMedia(ModelNormal): @@ -98,8 +104,14 @@ def discriminator(): lazy_import() val = { 'PinMediaWithImage': PinMediaWithImage, + 'PinMediaWithImageAndVideo': PinMediaWithImageAndVideo, + 'PinMediaWithImages': PinMediaWithImages, 'PinMediaWithVideo': PinMediaWithVideo, + 'PinMediaWithVideos': PinMediaWithVideos, 'image': PinMediaWithImage, + 'multiple_images': PinMediaWithImages, + 'multiple_mixed': PinMediaWithImageAndVideo, + 'multiple_videos': PinMediaWithVideos, 'video': PinMediaWithVideo, } if not val: diff --git a/pinterest/generated/client/model/pin_media_metadata.py b/pinterest/generated/client/model/pin_media_metadata.py new file mode 100644 index 0000000..1bca3cf --- /dev/null +++ b/pinterest/generated/client/model/pin_media_metadata.py @@ -0,0 +1,338 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.image_details import ImageDetails + from pinterest.generated.client.model.image_metadata import ImageMetadata + from pinterest.generated.client.model.video_metadata import VideoMetadata + globals()['ImageDetails'] = ImageDetails + globals()['ImageMetadata'] = ImageMetadata + globals()['VideoMetadata'] = VideoMetadata + + +class PinMediaMetadata(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'item_type': (str,), # noqa: E501 + 'images': ({str: (ImageDetails,)},), # noqa: E501 + 'cover_image_url': (str,), # noqa: E501 + 'duration': (float,), # noqa: E501 + 'height': (int,), # noqa: E501 + 'width': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'item_type': 'item_type', # noqa: E501 + 'images': 'images', # noqa: E501 + 'cover_image_url': 'cover_image_url', # noqa: E501 + 'duration': 'duration', # noqa: E501 + 'height': 'height', # noqa: E501 + 'width': 'width', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaMetadata - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + item_type (str): [optional] # noqa: E501 + images ({str: (ImageDetails,)}): [optional] # noqa: E501 + cover_image_url (str): [optional] # noqa: E501 + duration (float): Duration (in milliseconds). [optional] # noqa: E501 + height (int): Height (in pixels). [optional] # noqa: E501 + width (int): Width (in pixels). [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaMetadata - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + item_type (str): [optional] # noqa: E501 + images ({str: (ImageDetails,)}): [optional] # noqa: E501 + cover_image_url (str): [optional] # noqa: E501 + duration (float): Duration (in milliseconds). [optional] # noqa: E501 + height (int): Height (in pixels). [optional] # noqa: E501 + width (int): Width (in pixels). [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ImageMetadata, + VideoMetadata, + ], + 'allOf': [ + + ], + 'oneOf': [ + ], + } diff --git a/pinterest/generated/client/model/pin_media_with_image.py b/pinterest/generated/client/model/pin_media_with_image.py index db354d7..b31bc02 100644 --- a/pinterest/generated/client/model/pin_media_with_image.py +++ b/pinterest/generated/client/model/pin_media_with_image.py @@ -35,12 +35,18 @@ def lazy_import(): from pinterest.generated.client.model.pin_media import PinMedia from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage from pinterest.generated.client.model.pin_media_with_image_all_of import PinMediaWithImageAllOf + from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo + from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo + from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos globals()['ImageDetails'] = ImageDetails globals()['PinMedia'] = PinMedia globals()['PinMediaWithImage'] = PinMediaWithImage globals()['PinMediaWithImageAllOf'] = PinMediaWithImageAllOf + globals()['PinMediaWithImageAndVideo'] = PinMediaWithImageAndVideo + globals()['PinMediaWithImages'] = PinMediaWithImages globals()['PinMediaWithVideo'] = PinMediaWithVideo + globals()['PinMediaWithVideos'] = PinMediaWithVideos class PinMediaWithImage(ModelComposed): @@ -105,6 +111,9 @@ def discriminator(): lazy_import() val = { 'image': PinMediaWithImage, + 'multiple_images': PinMediaWithImages, + 'multiple_mixed': PinMediaWithImageAndVideo, + 'multiple_videos': PinMediaWithVideos, 'video': PinMediaWithVideo, } if not val: diff --git a/pinterest/generated/client/model/pin_media_with_image_and_video.py b/pinterest/generated/client/model/pin_media_with_image_and_video.py new file mode 100644 index 0000000..441914f --- /dev/null +++ b/pinterest/generated/client/model/pin_media_with_image_and_video.py @@ -0,0 +1,339 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.pin_media import PinMedia + from pinterest.generated.client.model.pin_media_metadata import PinMediaMetadata + from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage + from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo + from pinterest.generated.client.model.pin_media_with_image_and_video_all_of import PinMediaWithImageAndVideoAllOf + from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages + from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo + from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos + globals()['PinMedia'] = PinMedia + globals()['PinMediaMetadata'] = PinMediaMetadata + globals()['PinMediaWithImage'] = PinMediaWithImage + globals()['PinMediaWithImageAndVideo'] = PinMediaWithImageAndVideo + globals()['PinMediaWithImageAndVideoAllOf'] = PinMediaWithImageAndVideoAllOf + globals()['PinMediaWithImages'] = PinMediaWithImages + globals()['PinMediaWithVideo'] = PinMediaWithVideo + globals()['PinMediaWithVideos'] = PinMediaWithVideos + + +class PinMediaWithImageAndVideo(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'items': ([PinMediaMetadata],), # noqa: E501 + 'media_type': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + lazy_import() + val = { + 'image': PinMediaWithImage, + 'multiple_images': PinMediaWithImages, + 'multiple_mixed': PinMediaWithImageAndVideo, + 'multiple_videos': PinMediaWithVideos, + 'video': PinMediaWithVideo, + } + if not val: + return None + return {'media_type': val} + + attribute_map = { + 'items': 'items', # noqa: E501 + 'media_type': 'media_type', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaWithImageAndVideo - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([PinMediaMetadata]): [optional] # noqa: E501 + media_type (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaWithImageAndVideo - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([PinMediaMetadata]): [optional] # noqa: E501 + media_type (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + + ], + 'oneOf': [ + ], + } diff --git a/pinterest/generated/client/model/pin_media_with_image_and_video_all_of.py b/pinterest/generated/client/model/pin_media_with_image_and_video_all_of.py new file mode 100644 index 0000000..e6b2d06 --- /dev/null +++ b/pinterest/generated/client/model/pin_media_with_image_and_video_all_of.py @@ -0,0 +1,262 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.pin_media_metadata import PinMediaMetadata + globals()['PinMediaMetadata'] = PinMediaMetadata + + +class PinMediaWithImageAndVideoAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'items': ([PinMediaMetadata],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'items': 'items', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaWithImageAndVideoAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([PinMediaMetadata]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaWithImageAndVideoAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([PinMediaMetadata]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/pinterest/generated/client/model/pin_media_with_images.py b/pinterest/generated/client/model/pin_media_with_images.py new file mode 100644 index 0000000..b3689cf --- /dev/null +++ b/pinterest/generated/client/model/pin_media_with_images.py @@ -0,0 +1,339 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.image_metadata import ImageMetadata + from pinterest.generated.client.model.pin_media import PinMedia + from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage + from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo + from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages + from pinterest.generated.client.model.pin_media_with_images_all_of import PinMediaWithImagesAllOf + from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo + from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos + globals()['ImageMetadata'] = ImageMetadata + globals()['PinMedia'] = PinMedia + globals()['PinMediaWithImage'] = PinMediaWithImage + globals()['PinMediaWithImageAndVideo'] = PinMediaWithImageAndVideo + globals()['PinMediaWithImages'] = PinMediaWithImages + globals()['PinMediaWithImagesAllOf'] = PinMediaWithImagesAllOf + globals()['PinMediaWithVideo'] = PinMediaWithVideo + globals()['PinMediaWithVideos'] = PinMediaWithVideos + + +class PinMediaWithImages(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'items': ([ImageMetadata],), # noqa: E501 + 'media_type': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + lazy_import() + val = { + 'image': PinMediaWithImage, + 'multiple_images': PinMediaWithImages, + 'multiple_mixed': PinMediaWithImageAndVideo, + 'multiple_videos': PinMediaWithVideos, + 'video': PinMediaWithVideo, + } + if not val: + return None + return {'media_type': val} + + attribute_map = { + 'items': 'items', # noqa: E501 + 'media_type': 'media_type', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaWithImages - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([ImageMetadata]): [optional] # noqa: E501 + media_type (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaWithImages - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([ImageMetadata]): [optional] # noqa: E501 + media_type (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + + ], + 'oneOf': [ + ], + } diff --git a/pinterest/generated/client/model/pin_media_with_images_all_of.py b/pinterest/generated/client/model/pin_media_with_images_all_of.py new file mode 100644 index 0000000..63f3127 --- /dev/null +++ b/pinterest/generated/client/model/pin_media_with_images_all_of.py @@ -0,0 +1,262 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.image_metadata import ImageMetadata + globals()['ImageMetadata'] = ImageMetadata + + +class PinMediaWithImagesAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'items': ([ImageMetadata],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'items': 'items', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaWithImagesAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([ImageMetadata]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaWithImagesAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([ImageMetadata]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/pinterest/generated/client/model/pin_media_with_video.py b/pinterest/generated/client/model/pin_media_with_video.py index 28c9fef..4a7e18a 100644 --- a/pinterest/generated/client/model/pin_media_with_video.py +++ b/pinterest/generated/client/model/pin_media_with_video.py @@ -34,13 +34,19 @@ def lazy_import(): from pinterest.generated.client.model.image_details import ImageDetails from pinterest.generated.client.model.pin_media import PinMedia from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage + from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo + from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo from pinterest.generated.client.model.pin_media_with_video_all_of import PinMediaWithVideoAllOf + from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos globals()['ImageDetails'] = ImageDetails globals()['PinMedia'] = PinMedia globals()['PinMediaWithImage'] = PinMediaWithImage + globals()['PinMediaWithImageAndVideo'] = PinMediaWithImageAndVideo + globals()['PinMediaWithImages'] = PinMediaWithImages globals()['PinMediaWithVideo'] = PinMediaWithVideo globals()['PinMediaWithVideoAllOf'] = PinMediaWithVideoAllOf + globals()['PinMediaWithVideos'] = PinMediaWithVideos class PinMediaWithVideo(ModelComposed): @@ -109,6 +115,9 @@ def discriminator(): lazy_import() val = { 'image': PinMediaWithImage, + 'multiple_images': PinMediaWithImages, + 'multiple_mixed': PinMediaWithImageAndVideo, + 'multiple_videos': PinMediaWithVideos, 'video': PinMediaWithVideo, } if not val: diff --git a/pinterest/generated/client/model/pin_media_with_videos.py b/pinterest/generated/client/model/pin_media_with_videos.py new file mode 100644 index 0000000..35658ae --- /dev/null +++ b/pinterest/generated/client/model/pin_media_with_videos.py @@ -0,0 +1,339 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.pin_media import PinMedia + from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage + from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo + from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages + from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo + from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos + from pinterest.generated.client.model.pin_media_with_videos_all_of import PinMediaWithVideosAllOf + from pinterest.generated.client.model.video_metadata import VideoMetadata + globals()['PinMedia'] = PinMedia + globals()['PinMediaWithImage'] = PinMediaWithImage + globals()['PinMediaWithImageAndVideo'] = PinMediaWithImageAndVideo + globals()['PinMediaWithImages'] = PinMediaWithImages + globals()['PinMediaWithVideo'] = PinMediaWithVideo + globals()['PinMediaWithVideos'] = PinMediaWithVideos + globals()['PinMediaWithVideosAllOf'] = PinMediaWithVideosAllOf + globals()['VideoMetadata'] = VideoMetadata + + +class PinMediaWithVideos(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'items': ([VideoMetadata],), # noqa: E501 + 'media_type': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + lazy_import() + val = { + 'image': PinMediaWithImage, + 'multiple_images': PinMediaWithImages, + 'multiple_mixed': PinMediaWithImageAndVideo, + 'multiple_videos': PinMediaWithVideos, + 'video': PinMediaWithVideo, + } + if not val: + return None + return {'media_type': val} + + attribute_map = { + 'items': 'items', # noqa: E501 + 'media_type': 'media_type', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaWithVideos - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([VideoMetadata]): [optional] # noqa: E501 + media_type (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaWithVideos - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([VideoMetadata]): [optional] # noqa: E501 + media_type (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + + ], + 'oneOf': [ + ], + } diff --git a/pinterest/generated/client/model/pin_media_with_videos_all_of.py b/pinterest/generated/client/model/pin_media_with_videos_all_of.py new file mode 100644 index 0000000..0542aaf --- /dev/null +++ b/pinterest/generated/client/model/pin_media_with_videos_all_of.py @@ -0,0 +1,262 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + +def lazy_import(): + from pinterest.generated.client.model.video_metadata import VideoMetadata + globals()['VideoMetadata'] = VideoMetadata + + +class PinMediaWithVideosAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'items': ([VideoMetadata],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'items': 'items', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PinMediaWithVideosAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([VideoMetadata]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PinMediaWithVideosAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + items ([VideoMetadata]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/pinterest/generated/client/model/video_metadata.py b/pinterest/generated/client/model/video_metadata.py new file mode 100644 index 0000000..8e60ff0 --- /dev/null +++ b/pinterest/generated/client/model/video_metadata.py @@ -0,0 +1,272 @@ +""" + Pinterest REST API + + Pinterest's REST API # noqa: E501 + + The version of the OpenAPI document: 5.6.0 + Contact: pinterest-api@pinterest.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from pinterest.generated.client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from pinterest.generated.client.exceptions import ApiAttributeError + + + +class VideoMetadata(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'item_type': (str,), # noqa: E501 + 'cover_image_url': (str,), # noqa: E501 + 'duration': (float,), # noqa: E501 + 'height': (int,), # noqa: E501 + 'width': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'item_type': 'item_type', # noqa: E501 + 'cover_image_url': 'cover_image_url', # noqa: E501 + 'duration': 'duration', # noqa: E501 + 'height': 'height', # noqa: E501 + 'width': 'width', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """VideoMetadata - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + item_type (str): [optional] # noqa: E501 + cover_image_url (str): [optional] # noqa: E501 + duration (float): Duration (in milliseconds). [optional] # noqa: E501 + height (int): Height (in pixels). [optional] # noqa: E501 + width (int): Width (in pixels). [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """VideoMetadata - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + item_type (str): [optional] # noqa: E501 + cover_image_url (str): [optional] # noqa: E501 + duration (float): Duration (in milliseconds). [optional] # noqa: E501 + height (int): Height (in pixels). [optional] # noqa: E501 + width (int): Width (in pixels). [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/pinterest/generated/client/models/__init__.py b/pinterest/generated/client/models/__init__.py index b2e2d6e..77e4890 100644 --- a/pinterest/generated/client/models/__init__.py +++ b/pinterest/generated/client/models/__init__.py @@ -201,6 +201,7 @@ from pinterest.generated.client.model.google_product_category6_filter import GoogleProductCategory6Filter from pinterest.generated.client.model.granularity import Granularity from pinterest.generated.client.model.image_details import ImageDetails +from pinterest.generated.client.model.image_metadata import ImageMetadata from pinterest.generated.client.model.inline_object import InlineObject from pinterest.generated.client.model.item_attributes import ItemAttributes from pinterest.generated.client.model.item_attributes_all_of import ItemAttributesAllOf @@ -259,14 +260,21 @@ from pinterest.generated.client.model.paginated import Paginated from pinterest.generated.client.model.pin import Pin from pinterest.generated.client.model.pin_media import PinMedia +from pinterest.generated.client.model.pin_media_metadata import PinMediaMetadata from pinterest.generated.client.model.pin_media_source import PinMediaSource from pinterest.generated.client.model.pin_media_source_image_base64 import PinMediaSourceImageBase64 from pinterest.generated.client.model.pin_media_source_image_url import PinMediaSourceImageURL from pinterest.generated.client.model.pin_media_source_video_id import PinMediaSourceVideoID from pinterest.generated.client.model.pin_media_with_image import PinMediaWithImage from pinterest.generated.client.model.pin_media_with_image_all_of import PinMediaWithImageAllOf +from pinterest.generated.client.model.pin_media_with_image_and_video import PinMediaWithImageAndVideo +from pinterest.generated.client.model.pin_media_with_image_and_video_all_of import PinMediaWithImageAndVideoAllOf +from pinterest.generated.client.model.pin_media_with_images import PinMediaWithImages +from pinterest.generated.client.model.pin_media_with_images_all_of import PinMediaWithImagesAllOf from pinterest.generated.client.model.pin_media_with_video import PinMediaWithVideo from pinterest.generated.client.model.pin_media_with_video_all_of import PinMediaWithVideoAllOf +from pinterest.generated.client.model.pin_media_with_videos import PinMediaWithVideos +from pinterest.generated.client.model.pin_media_with_videos_all_of import PinMediaWithVideosAllOf from pinterest.generated.client.model.pin_promotion_summary_status import PinPromotionSummaryStatus from pinterest.generated.client.model.pinterest_tag_event_data import PinterestTagEventData from pinterest.generated.client.model.placement_group_type import PlacementGroupType @@ -308,3 +316,4 @@ from pinterest.generated.client.model.updatable_item_attributes import UpdatableItemAttributes from pinterest.generated.client.model.user_list_operation_type import UserListOperationType from pinterest.generated.client.model.user_list_type import UserListType +from pinterest.generated.client.model.video_metadata import VideoMetadata diff --git a/setup.py b/setup.py index 334321b..284c4b7 100644 --- a/setup.py +++ b/setup.py @@ -10,9 +10,10 @@ from setuptools import setup, find_packages # noqa: H301 +from pathlib import Path NAME = "Pinterest Generated Client" -VERSION = "0.1.1" +VERSION = "0.1.2" # To install the library, run the following # # python setup.py install @@ -25,6 +26,8 @@ "python-dateutil", ] +long_description = (Path(__file__).parent / "README.md").read_text() + setup( name=NAME, version=VERSION, @@ -37,7 +40,6 @@ packages=find_packages(exclude=["test", "tests"]), include_package_data=True, license="MIT", - long_description="""\ - Pinterest's REST API # noqa: E501 - """ + long_description=long_description, + long_description_content_type='text/markdown', )