==================== External Audible API ==================== Documentation ============= There is currently no publicly available documentation about the Audible API. There is a node client `audible-api `_ that has some endpoints documented, but does not provide information on authentication. Luckily the Audible API is partially self-documenting, however the parameter names need to be known. Error responses will look like: .. code-block:: json { "message": "1 validation error detected: Value 'some_random_string123' at 'numResults' failed to satisfy constraint: Member must satisfy regular expression pattern: ^\\d+$" } Few endpoints have been fully documented, as a large amount of functionality is not testable from the app or functionality is unknown. Most calls need to be authenticated. For `%s` substitutions the value is unknown or can be inferred from the endpoint. `/1.0/catalog/products/%s` for example requires an `asin`, as in `/1.0/catalog/products/B002V02KPU`. Each bullet below refers to a parameter for the request with the specified method and URL. Responses will often provide very little info without `response_groups` specified. Multiple response groups can be specified, for example: `/1.0/catalog/products/B002V02KPU?response_groups=product_plan_details,media,review_attrs`. When providing an invalid response group, the server will return an error response but will not provide information on available response groups. .. _api_endpoints: API Endpoints ============= .. http:get:: /0.0/library/books :deprecated: This API endpoint is deprecated. Please use :http:get:`/1.0/library` instead. :query string purchaseAfterDate: mm/dd/yyyy :query string sortByColumn: [SHORT_TITLE, strTitle, DOWNLOAD_STATUS, RUNNING_TIME, sortPublishDate, SHORT_AUTHOR, sortPurchDate, DATE_AVAILABLE] :query bool sortInAscendingOrder: [true, false] Library ------- .. http:get:: /1.0/library The audible library of current user :query integer num_results: (max: 1000) :query integer page: page :query string purchased_after: [RFC3339](https://tools.ietf.org/html/rfc3339) (e.g. `2000-01-01T00:00:00Z`) :query string title: a title :query string author: a author :query string response_groups: [contributors, customer_rights, media, price, product_attrs, product_desc, product_details, product_extended_attrs, product_plan_details, product_plans, rating, sample, sku, series, reviews, ws4v, origin, relationships, review_attrs, categories, badge_types, category_ladders, claim_code_url, in_wishlist, is_archived, is_downloaded, is_finished, is_playable, is_removable, is_returnable, is_visible, listening_status, order_details, origin_asin, pdf_url, percent_complete, periodicals, provided_review] :query string image_sizes: [1215,408,360,882,315,570,252,558,900,500] :query string sort_by: [-Author, -Length, -Narrator, -PurchaseDate, -Title, Author, Length, Narrator, PurchaseDate, Title] :query string status: [Active, Revoked] ('Active' is the default, 'Revoked' returns audiobooks the user has returned for a refund.) :query string parent_asin: asin :query string include_pending: [true, false] :query string marketplace: [e.g. AN7V1F1VY261K] :query string state_token: .. http:get:: /1.0/library/(string:asin) :param asin: The asin of the book :type asin: string :query string response_groups: [contributors, media, price, product_attrs, product_desc, product_details, product_extended_attrs, product_plan_details, product_plans, rating, sample, sku, series, reviews, ws4v, origin, relationships, review_attrs, categories, badge_types, category_ladders, claim_code_url, is_downloaded, is_finished, is_returnable, origin_asin, pdf_url, percent_complete, periodicals, provided_review] .. http:post:: /1.0/library/item :json collection_id: :>json creation_date: :>json customer_id: :>json marketplace: .. http:get:: /1.0/collections/(collection_id) :param collection_id: .. http:put:: /1.0/collections/(collection_id) Modify a collection :param collection_id: :json state_token: :>json collection_id: :>json name: :>json description: .. http:get:: /1.0/collections/(collection_id)/items :param collection_id: e.g __FAVORITES :query response_groups: [always-returned] .. http:post:: /1.0/collections/(collection_id)/items Add item(s) to a collection :param collection_id: :json description: :>json name: :>json int num_items_added: :>json state_token: Orders ------ .. http:get:: /1.0/orders Returns order history from at least the past 6 months. Supports pagination. :query unknown: .. http:post:: /1.0/orders :json string license: The encrypted license .. http:get:: 1.0/content/FairPlay/certificate :>json string certificate: The base64 encoded FairPlay certificate Account ------- .. http:get:: /1.0/account/information :query response_groups: [delinquency_status, customer_benefits, customer_segments, subscription_details_payment_instrument, plan_summary, subscription_details, directed_ids] :query source: [Credit, Enterprise, RodizioFreeBasic, AyceRomance, AllYouCanEat, AmazonEnglish, ComplimentaryOriginalMemberBenefit, Radio, SpecialBenefit, Rodizio] Customer -------- .. http:get:: /1.0/customer/information :query response_groups: [migration_details, subscription_details_rodizio, subscription_details_premium, customer_segment, subscription_details_channels] .. http:get:: /1.0/customer/status :query response_groups: [benefits_status, member_giving_status, prime_benefits_status, prospect_benefits_status] .. http:get:: /1.0/customer/freetrial/eligibility Stats ----- .. http:get:: /1.0/stats/aggregates :query daily_listening_interval_duration: ([012]?[0-9])|(30) (0 to 30, inclusive) :query daily_listening_interval_start_date: YYYY-MM-DD (e.g. `2019-06-16`) :query locale: en_US :query monthly_listening_interval_duration: 0?[0-9]|1[012] (0 to 12, inclusive) :query monthly_listening_interval_start_date: YYYY-MM (e.g. `2019-02`) :query response_groups: [total_listening_stats] :query store: [AudibleForInstitutions, Audible, AmazonEnglish, Rodizio] .. http:get:: /1.0/stats/status/finished :query asin: asin :query start_date: [RFC3339](https://tools.ietf.org/html/rfc3339) (e.g. `2000-01-01T00:00:00Z`) .. http:post:: /1.0/stats/status/finished :