> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shoply.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Win-Back

> Win-Back's settings as `data`. `meta.figures` is the period's four figures: the revenue it won back (and the period before's), subscribers and the share of buyers asked who said yes, the share of buyers emailed who came back, and the emails sent with how many buyers clicked and unsubscribed. `meta.set` is false where the store has never set it up, `meta.asking` whether the checkout asks buyers for leave, `meta.sendable` whether the store can send email at all, `meta.audiences` the tags it may be narrowed to, and `meta.choices` what each setting may take.

Needs the `marketing.read` permission (Read Email Marketing).



## OpenAPI

````yaml /api-reference/openapi.json get /stores/{storeId}/win-back
openapi: 3.1.0
info:
  title: Shoply API
  version: '1'
  description: >-
    Everything a store's own server can do with a secret API key: its catalogue,
    orders, customers, marketing, finance and the rest of what the dashboard
    does. And the Customer API, which a buyer's own device asks with a token of
    theirs.
servers:
  - url: https://api.shoply.gg/v1
security:
  - apiKey: []
tags:
  - name: API key
  - name: Store
  - name: Domain
  - name: Payment methods
  - name: Analytics
  - name: Storefronts
  - name: Storefront code
  - name: Payment Routing
  - name: Custom payment methods
  - name: Products
  - name: Product pictures
  - name: Stock
  - name: Categories
  - name: Upsells
  - name: Subscriptions
  - name: Orders
  - name: Invoices
  - name: Reviews
  - name: Coupons
  - name: Coupon categories
  - name: Coupon pop-up
  - name: Sales
  - name: Blog
  - name: Search settings
  - name: Redirects
  - name: Sitemap
  - name: Cart Recovery
  - name: Email Marketing
  - name: Email Templates
  - name: Customers
  - name: Affiliates
  - name: Support Tickets
  - name: Blacklist
  - name: Fraud protection
  - name: Disputes
  - name: Finance
  - name: Tax
  - name: Expenses
  - name: Expense setup
  - name: API requests
  - name: Webhook endpoints
  - name: Webhook deliveries
  - name: Customer API
paths:
  /stores/{storeId}/win-back:
    get:
      tags:
        - Email Marketing
      summary: Get Win-Back
      description: >-
        Win-Back's settings as `data`. `meta.figures` is the period's four
        figures: the revenue it won back (and the period before's), subscribers
        and the share of buyers asked who said yes, the share of buyers emailed
        who came back, and the emails sent with how many buyers clicked and
        unsubscribed. `meta.set` is false where the store has never set it up,
        `meta.asking` whether the checkout asks buyers for leave,
        `meta.sendable` whether the store can send email at all,
        `meta.audiences` the tags it may be narrowed to, and `meta.choices` what
        each setting may take.


        Needs the `marketing.read` permission (Read Email Marketing).
      operationId: winBack.show
      parameters:
        - name: storeId
          in: path
          required: true
          description: >-
            The store's ID. A key reaches the store it was made in: `GET /key`
            answers which.
          schema:
            type: string
        - name: range
          in: query
          required: false
          description: The period.
          schema:
            type: string
            enum:
              - today
              - yesterday
              - 7d
              - 30d
              - this_week
              - last_week
              - this_month
              - last_month
              - this_year
            default: 30d
        - name: from
          in: query
          required: false
          description: >-
            The first day of a period of your own, as `YYYY-MM-DD`. With `to`,
            in place of `range`.
          schema:
            type: string
        - name: to
          in: query
          required: false
          description: Its last day, as `YYYY-MM-DD`.
          schema:
            type: string
        - name: tz
          in: query
          required: false
          description: The time zone those days are in, as an IANA name. Left out, UTC.
          schema:
            type: string
            example: Europe/Berlin
      responses:
        '200':
          description: It worked.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    nullable: true
                  code:
                    nullable: true
                  data:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                      firstOn:
                        type: boolean
                      firstDays:
                        type: integer
                      firstSubject:
                        type: string
                      secondOn:
                        type: boolean
                      secondDays:
                        type: integer
                      secondSubject:
                        type: string
                      secondPercent:
                        type: integer
                      audience:
                        type: string
                  meta:
                    type: object
                    properties:
                      set:
                        type: boolean
                      asking:
                        type: boolean
                      sendable:
                        type: boolean
                      figures:
                        type: object
                        properties:
                          won:
                            type: object
                            properties:
                              revenue:
                                type: integer
                              orders:
                                type: integer
                          wonBefore:
                            type: integer
                          subscribed:
                            type: integer
                          saidYes:
                            type: integer
                          rate:
                            nullable: true
                          emailed:
                            type: integer
                          sent:
                            type: integer
                          clicked:
                            type: integer
                          unsubscribed:
                            type: integer
                      audiences:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            tone:
                              type: string
                            automatic:
                              type: boolean
                      choices:
                        type: object
                        properties:
                          firstDays:
                            type: array
                            items:
                              type: integer
                          secondDays:
                            type: array
                            items:
                              type: integer
                          percents:
                            type: array
                            items:
                              type: integer
                          couponDays:
                            type: integer
                          wonDays:
                            type: integer
              example:
                success: true
                message: null
                code: null
                data:
                  enabled: true
                  firstOn: true
                  firstDays: 30
                  firstSubject: ''
                  secondOn: true
                  secondDays: 14
                  secondSubject: ''
                  secondPercent: 15
                  audience: ''
                meta:
                  set: true
                  asking: true
                  sendable: true
                  figures:
                    won:
                      revenue: 0
                      orders: 0
                    wonBefore: 0
                    subscribed: 1
                    saidYes: 100
                    rate: null
                    emailed: 0
                    sent: 0
                    clicked: 0
                    unsubscribed: 0
                  audiences:
                    - id: vip
                      name: VIP
                      tone: primary
                      automatic: true
                    - id: a537f7cb-125f-43a0-bd90-e29657620d76
                      name: Wholesale
                      tone: primary
                      automatic: false
                  choices:
                    firstDays:
                      - 14
                      - 21
                    secondDays:
                      - 3
                      - 7
                    percents:
                      - 0
                      - 5
                    couponDays: 7
                    wonDays: 14
        '401':
          $ref: '#/components/responses/NoKey'
        '403':
          $ref: '#/components/responses/NotAllowed'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooMany'
      x-codeSamples:
        - lang: javascript
          label: Node.js
          source: |
            import Shoply from "@shoplygg/node";

            const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });

            const result = await shoply.winBack.show();
        - lang: php
          label: PHP
          source: |
            <?php

            require 'vendor/autoload.php';

            $shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);

            $result = $shoply->winBack->show();
        - lang: python
          label: Python
          source: |
            import shoply

            client = shoply.Client()  # reads SHOPLY_API_KEY

            result = client.winBack.show()
components:
  responses:
    NoKey:
      description: >-
        No API key was sent, or the one sent is not a live key:
        `api_key_required`, `invalid_api_key`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    NotAllowed:
      description: >-
        The key is real and may not do this: `missing_scope` (with
        `requiredScope`), `ip_not_allowed`, `account_unavailable`, or
        `dashboard_only` for something only a person in the dashboard may do.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    NotFound:
      description: >-
        There is no such thing in this store: `not_found`. A store that is not
        the key's own is answered the same way.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    TooMany:
      description: >-
        The key has used up its budget for now: `rate_limited`. `Retry-After`
        says how many seconds to wait.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
  schemas:
    Refusal:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          description: What is wrong, in words for a person.
        code:
          type: string
          description: What is wrong, as a word that does not change.
        data:
          nullable: true
        errors:
          type: object
          description: >-
            For `validation_failed`: what is wrong with each field, by the
            field's name.
          additionalProperties:
            type: string
      required:
        - success
        - message
        - code
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        A secret API key, made under Developers in the dashboard:
        `Authorization: Bearer shoply_sk_...`

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.