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

# Get Stores List.

> This route returns a paginated list of stores.
We return a list of stores, and in each store we embed the list of related offers, whatever the type and/or cashback rate.




## OpenAPI

````yaml /program/api/openapi/legacy/1.0.1/connector.json get /connectors/stores
openapi: 3.0.2
info:
  description: >
    ## Welcome to PayLead API Documentation !

    With this documentation, we will help you go through the phases of

    basic implementation, and help you understand the basic steps to let you
    reach your objectives through our API.

    ## Versioning

    Our API supports versioning, so be sure to set the right version in the
    header, using the Client-Api-Version field :


    ex : X-Api-Version = 1.0.0

    ## Response code

    Our API returns standard HTTP response codes to indicate success or failure
    of the API requests. For

    errors, we also return a customized error message inside the JSON response.
    You can see the returned

    HTTP status codes below.


    |Code|Title|Description

    |------|------|------|

    |200|OK|Request successful

    |201|Created|Resource successfully created

    |204|No Content|Request successful with no content returned

    |400|Bad Request|Request was unacceptable

    |401|Unauthorised|API key provided is invalid

    |402|Request Failed|Valid parameters but the request failed

    |403|Forbidden|Access is forbidden.

    |404|Not Found|Resource does not exist

    |409|Conflict|The request could not be completed due to a conflict with the
    current state of the target resource

    |429|Too Many Requests|The user has sent too many requests in a given amount
    of time ("rate limiting").

    |500, 502, 503, 504|Server Errors|Something went wrong with the PayLead API


    ## Error handling

    In case of error our API returns errors based on JSON API principles,
    especially for 4xx errors.

    An error response contains an unique id which can be used for investigation.

    In addition, you will find a message explaining the error, a readable code
    and a meta object containing more details.


    You can see an example below.


    >> ~~~~

    >> {

    >>     'errors': {

    >>             'target_account': [

    >>                 {

    >>                 'code': 'FORMAT_ERROR',

    >>                 'message': 'Invalid IBAN; it should be 4-34 characters,
    only upper-case letters and digits.',

    >>                 'meta': {

    >>                     'value': 'SOME-INVALID-IBAN'

    >>                 }

    >>             }

    >>         ]

    >>     },

    >>     'id': '784db0c2-0e87-40d4-aa62-3e801135ccf7'

    >> }

    >> ~~~~

    ## Language — Content Negotiation

    If your program has been configured to support multiple languages, the API
    will respect the `Accept-Language` header as defined in
    [RFC7231](https://tools.ietf.org/html/rfc7231#section-5.3.5).


    For each incoming request, the best language will be selected by matching
    the list of languages accepted by the client with the list of languages
    supported by the program.


    For example, with a header of `Accept-Language: fr-FR,en-GB;q=0.8,en;q=0.3`:

      * If supported languages are `fr-FR, en-GB`, the best match is `fr-FR`;
      * If supported languages are `en-GB, fr-FR`, the best match is `fr-FR`;
      * If supported languages are `fr-BE, nl-BE`, the best match is `fr-BE`;
      * If supported languages are `it-IT, en-US`, the best match is `en-US`;
      * If supported languages are `de-CH, it-CH`, the best match is `de-CH`.


    The selected language will be exposed through the `Content-Language` header.


    *Note:* If some fields haven't been translated yet, they will be returned in
    the program's primary language.
  title: PayLead API
  version: 1.0.1
servers:
  - url: https://api.sandbox.paylead.tech
security:
  - ApiKeyAuth: []
paths:
  /connectors/stores:
    get:
      tags:
        - Store
      summary: Get Stores List.
      description: >
        This route returns a paginated list of stores.

        We return a list of stores, and in each store we embed the list of
        related offers, whatever the type and/or cashback rate.
      parameters:
        - description: >-
            Filter by store with active offer (accessible only for connector or
            consumer)
          in: query
          name: active_offer
          schema:
            type: boolean
        - description: |-
            Filter by address

            Address of the Store
          example: 55 rue des moulins
          in: query
          name: address
          schema:
            type: string
        - description: >-
            Filter by brand


            The brand that is being promoted by the offer. Can be different from
            the Merchant (ex. Monoprix merchant can issue offers on Naturalia
            brand)
          in: query
          name: brand
          schema:
            format: uuid
            type: string
        - description: |-
            Filter by brand__name

            Name of the brand
          example: MyBrand
          in: query
          name: brand__name
          schema:
            type: string
        - description: Filter by brand__universe
          in: query
          name: brand__universe
          schema:
            format: uuid
            type: string
        - description: |-
            Filter by city

            City of the store
          example: Paris
          in: query
          name: city
          schema:
            type: string
        - description: Filter by maximum distance (in meters)
          in: query
          name: distance
          schema:
            type: number
        - description: >-
            Filter by is_online


            TRUE if the store is online (no address, no geolocation, url); FALSE
            if the store is physical
          example: true
          in: query
          name: is_online
          schema:
            type: boolean
        - description: |-
            Filter by merchant

            Merchant that has created the offer
          in: query
          name: merchant
          schema:
            format: uuid
            type: string
        - description: |-
            Filter by name

            Name of the object
          in: query
          name: name
          schema:
            type: string
        - description: |-
            Filter by offer

            offer
          in: query
          name: offer
          schema:
            format: uuid
            type: string
        - description: the page number
          in: query
          name: page
          required: false
          schema:
            minimum: 1
            type: integer
        - description: the number of elements per page
          in: query
          name: per_page
          required: false
          schema:
            maximum: 100
            minimum: 1
            type: integer
        - description: >-
            Filter by siret


            SIRET of the current Store. Siret is a 14-digit business
            identification number managed by INSEE. The Siret consists of the
            Siren number of 9 digits which identifies the company, a 4-digit
            number to identify the establishment and 1 digit forming a control
            key to verify Luhn's algorithm
          example: 81968937300010
          in: query
          name: siret
          schema:
            type: string
        - description: Sort by given attribute
          in: query
          name: sort
          schema:
            enum:
              - name
              - brand
              - brand__name
              - brand__universe
              - siret
              - address
              - zip_code
              - city
              - merchant
              - is_online
              - offer
              - '-name'
              - '-brand'
              - '-brand__name'
              - '-brand__universe'
              - '-siret'
              - '-address'
              - '-zip_code'
              - '-city'
              - '-merchant'
              - '-is_online'
              - '-offer'
            type: string
        - description: |-
            Filter by zip_code

            Zip code of the store
          example: 84120
          in: query
          name: zip_code
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/Store'
                    type: array
                  meta:
                    properties:
                      page:
                        type: integer
                      per_page:
                        type: integer
                      total:
                        type: integer
          description: OK
          links:
            get.ConnectorStoreResource:
              operationId: get.ConnectorStoreResource
              parameters:
                store_id: $response.body#/items/0/id
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Not allowed to access the resource
        '404':
          description: Not found
        '405':
          description: Method not allowed
        '422':
          description: Unprocessable Entity
components:
  schemas:
    Store:
      properties:
        address:
          description: Address of the Store
          example: 55 rue des moulins
          nullable: true
          readOnly: true
          type: string
        brand:
          $ref: '#/components/schemas/Brand'
        business_name:
          description: Business Name (Legal) of the store
          example: MY BRAND SARL
          nullable: true
          readOnly: true
          type: string
        city:
          description: City of the store
          example: Paris
          nullable: true
          readOnly: true
          type: string
        country:
          description: Country of the store
          example: France
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        is_online:
          description: >-
            TRUE if the store is online (no address, no geolocation, url); FALSE
            if the store is physical
          example: true
          nullable: true
          readOnly: true
          type: boolean
        latitude:
          description: Latitude of the store
          example: 50.51534475
          nullable: true
          readOnly: true
          type: number
        longitude:
          description: Longitude of the store
          example: 6.0646992
          nullable: true
          readOnly: true
          type: number
        merchant:
          $ref: '#/components/schemas/Merchant'
        name:
          description: Name of the store
          example: MY LITTLE BRAND PARIS
          readOnly: true
          type: string
        networks:
          description: networks
          items:
            $ref: '#/components/schemas/Network'
          readOnly: true
          type: array
        offers:
          description: >
            Best available offer for current user (or generic user) in this
            store. The best available offer is the offer that is:

            - Available for the current store

            - Eligible for the current user

            - proposing the best cashback rate
          items:
            oneOf:
              - $ref: '#/components/schemas/CashbackOffer'
              - $ref: '#/components/schemas/CouponUniqueOffer'
              - $ref: '#/components/schemas/CouponGenericOffer'
            type: object
          readOnly: true
          type: array
        phone_number:
          description: Phone number of the store
          example: '0102030405'
          nullable: true
          readOnly: true
          type: string
        siret:
          description: >-
            SIRET of the current Store. Siret is a 14-digit business
            identification number managed by INSEE. The Siret consists of the
            Siren number of 9 digits which identifies the company, a 4-digit
            number to identify the establishment and 1 digit forming a control
            key to verify Luhn's algorithm
          example: 81968937300010
          nullable: true
          type: string
        website:
          description: URL of a brand website
          example: https://www.paylead.fr/
          format: url
          nullable: true
          readOnly: true
          type: string
        zip_code:
          description: Zip code of the store
          example: 84120
          nullable: true
          readOnly: true
          type: string
      required:
        - name
      type: object
    Brand:
      properties:
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        logo:
          anyOf:
            - $ref: '#/components/schemas/Image'
            - nullable: true
              type: object
        name:
          description: Name of the object
          readOnly: true
          type: string
        updated_at:
          description: Date of the last update
          example: '2020-01-23T12:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
      required:
        - name
      type: object
    Merchant:
      properties:
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        has_delegation:
          description: Flag to indicate if the merchant can emit offers on another brand
          readOnly: true
          type: boolean
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        logo:
          anyOf:
            - $ref: '#/components/schemas/Image'
            - nullable: true
              type: object
        name:
          description: Name of the object
          readOnly: true
          type: string
      required:
        - id
        - name
      type: object
    Network:
      properties:
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        logo:
          description: Logo of the Brand
          format: uuid
          nullable: true
          readOnly: true
          type: string
        stores_total:
          deprecated: true
          description: number of store linked to the network
          readOnly: true
          type: integer
      type: object
    CashbackOffer:
      properties:
        application_channel:
          description: >-
            Offer availability: **ONLINE** if the offer is online only.
            **OFFLINE** if the offer is offline only. **BOTH** if the offer is
            online and offline
          enum:
            - ONLINE
            - OFFLINE
            - BOTH
          example: ONLINE
          readOnly: true
        application_url:
          description: >-
            URL to reach the offer if the offer channel is **ONLINE** or
            **BOTH**
          example: https://www.mybrand.fr
          format: url
          nullable: true
          readOnly: true
          type: string
        brand:
          $ref: '#/components/schemas/ConsumerOfferBrand'
        cashback_rate:
          description: Rate of reward used to calculate cashback amount
          example: 5
          maximum: 100
          minimum: 0
          readOnly: true
          type: number
        consumed:
          description: >-
            Has the consumer already consumed the coupon of the current offer?
            If true, yes. If false, no.
          example: true
          readOnly: true
          type: boolean
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        description:
          description: description
          nullable: true
          readOnly: true
          type: string
        end_date:
          description: >-
            End date of the offer. A transaction has to be executed before
            (inclusive) this date to be able to generate cashback for the
            consumer.
          example: '2017-12-26T23:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        favorite:
          description: TRUE if the offer is liked by consumer, FALSE if not
          example: true
          readOnly: true
          type: boolean
        highlight_level:
          description: >-
            Enum in: HIGHEST, HIGH, NORMAL. For a contextual display (banner,
            carousel etc...), this value is set by the program manager on each
            offer
          example: HIGH
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        is_activated:
          description: TRUE if the object is active, FALSE if not
          example: true
          readOnly: true
          type: boolean
        legal_terms:
          description: Legal terms
          nullable: true
          readOnly: true
          type: string
        max_amount:
          description: >-
            Maximum transaction amount for this offer. the maximum reward for
            this offer is max_amount x cashback_rate
          example: 250
          format: float
          nullable: true
          readOnly: true
          type: number
        max_cashbacks_per_consumer:
          description: >-
            The maximum number of rewards that can be obtained by a consumer, if
            "None", it's unlimited, on a given offer
          nullable: true
          readOnly: true
          type: integer
        merchant:
          description: Merchant that has created the offer
          nullable: true
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
            logo:
              allOf:
                - $ref: '#/components/schemas/Image'
              nullable: true
              readOnly: true
            name:
              readOnly: true
              type: string
          readOnly: true
          required:
            - name
          type: object
        min_amount:
          description: >-
            Minimum amount for a transaction to be able to generate a reward for
            the consumer
          example: 40
          format: float
          nullable: true
          readOnly: true
          type: number
        name:
          description: Name of the object
          readOnly: true
          type: string
        network:
          description: >-
            UUID: If the offer is promoting a selection of stores belonging to a
            specific network, ID of the network. Else, null
          example: 739c5ba7-8831-4664-9ce3-73e9f1e50c09
          nullable: true
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
            logo:
              format: uuid
              nullable: true
              readOnly: true
              type: string
          readOnly: true
          type: object
        picture:
          anyOf:
            - $ref: '#/components/schemas/Image'
            - nullable: true
              type: object
        program:
          description: Program manager object.
          properties:
            id:
              type: string
            legal_terms:
              type: string
            name:
              type: string
          readOnly: true
          type: object
        publication_date:
          description: >-
            Offer publication datetime. An offer can be published before its
            starting date (for teasing purposes)
          example: '2019-01-01T00:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        reference:
          description: >-
            Unique reference of the offer. Human readable, made out from the
            concatenation of the brand name + creation date + increment.
          example: MYBRAND-20180220-001
          readOnly: true
          type: string
        segments:
          description: Segments of offers
          items:
            $ref: '#/components/schemas/ConsumerSegment'
          readOnly: true
          type: array
        source_transaction:
          description: >-
            If this flag is true, the transaction must come from the default
            bank of the program to generate a reward
          readOnly: true
          type: boolean
        start_date:
          description: >-
            Date (ex. 2017-12-26T23:00:00+00:00): Start date of the offer. A
            transaction has to be executed after (inclusive) this date to be
            able to generate cashback for the consumer.
          example: '2018-12-21T00:00:00+00:00'
          format: date-time
          readOnly: true
          type: string
        status:
          description: >
            - ACTIVE: The offer is available and your customers can benefit from
            it.

            - COMPLETED: The campaign budget has been completely spent, the
            offer is no longer active.

            - PUBLISHED: The offer is published but not yet active. You can
            choose to display them to tease your customers.
          readOnly: true
          type: string
        type:
          description: 'Enum in: CASHBACK, UNIQUE_COUPON, GENERIC_COUPON'
          enum:
            - CASHBACK
            - UNIQUE_COUPON
            - GENERIC_COUPON
          example: CASHBACK
          readOnly: true
          type: string
        universes:
          description: Universes
          items:
            $ref: '#/components/schemas/Universe'
          readOnly: true
          type: array
      required:
        - cashback_rate
        - highlight_level
        - id
        - name
        - status
        - type
      type: object
    CouponUniqueOffer:
      properties:
        application_channel:
          description: >-
            Offer availability: **ONLINE** if the offer is online only.
            **OFFLINE** if the offer is offline only. **BOTH** if the offer is
            online and offline
          enum:
            - ONLINE
            - OFFLINE
            - BOTH
          example: ONLINE
          readOnly: true
        application_url:
          description: >-
            URL to reach the offer if the offer channel is **ONLINE** or
            **BOTH**
          example: https://www.mybrand.fr
          format: url
          nullable: true
          readOnly: true
          type: string
        brand:
          $ref: '#/components/schemas/ConsumerOfferBrand'
        consumed:
          description: >-
            Has the consumer already consumed the coupon of the current offer?
            If true, yes. If false, no.
          example: true
          readOnly: true
          type: boolean
        coupon_diffusion_type:
          description: |
            - QR: QR code
            - EAN: Bar code
            - CODE: Full text (alpha num) code
          enum:
            - QR
            - EAN
            - CODE
          maxLength: 4
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        description:
          description: description
          nullable: true
          readOnly: true
          type: string
        end_date:
          description: 'Date (ex. 2017-12-26T23:00:00+00:00): End date of the offer.'
          example: '2018-12-21T00:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        favorite:
          description: TRUE if the offer is liked by consumer, FALSE if not
          example: true
          readOnly: true
          type: boolean
        highlight_level:
          description: >-
            Enum in: HIGHEST, HIGH, NORMAL. For a contextual display (banner,
            carousel etc...), this value is set by the program manager on each
            offer
          example: HIGH
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        is_activated:
          description: TRUE if the object is active, FALSE if not
          example: true
          readOnly: true
          type: boolean
        legal_terms:
          description: Legal terms
          nullable: true
          readOnly: true
          type: string
        merchant:
          description: Merchant that has created the offer
          nullable: true
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
            logo:
              allOf:
                - $ref: '#/components/schemas/Image'
              nullable: true
              readOnly: true
            name:
              readOnly: true
              type: string
          readOnly: true
          required:
            - name
          type: object
        name:
          description: Name of the object
          readOnly: true
          type: string
        network:
          description: >-
            UUID: If the offer is promoting a selection of stores belonging to a
            specific network, ID of the network. Else, null
          example: 739c5ba7-8831-4664-9ce3-73e9f1e50c09
          nullable: true
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
            logo:
              format: uuid
              nullable: true
              readOnly: true
              type: string
          readOnly: true
          type: object
        picture:
          anyOf:
            - $ref: '#/components/schemas/Image'
            - nullable: true
              type: object
        program:
          description: Program manager object.
          properties:
            id:
              type: string
            legal_terms:
              type: string
            name:
              type: string
          readOnly: true
          type: object
        publication_date:
          description: >-
            Offer publication datetime. An offer can be published before its
            starting date (for teasing purposes)
          example: '2019-01-01T00:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        reference:
          description: >-
            Unique reference of the offer. Human readable, made out from the
            concatenation of the brand name + creation date + increment.
          example: MYBRAND-20180220-001
          readOnly: true
          type: string
        start_date:
          description: 'Date (ex. 2017-12-26T23:00:00+00:00): Start date of the offer.'
          example: '2018-12-21T00:00:00+00:00'
          format: date-time
          readOnly: true
          type: string
        status:
          description: >
            - ACTIVE: The offer is available and your customers can benefit from
            it.

            - COMPLETED: All the coupons of the offer have been burnt, the offer
            is no longer active.

            - PUBLISHED: The offer is published but not yet active. You can
            choose to display it to tease your customers.
          readOnly: true
          type: string
        type:
          description: 'Enum in: CASHBACK, UNIQUE_COUPON, GENERIC_COUPON'
          enum:
            - CASHBACK
            - UNIQUE_COUPON
            - GENERIC_COUPON
          example: CASHBACK
          readOnly: true
          type: string
        universes:
          description: Universes
          items:
            $ref: '#/components/schemas/Universe'
          readOnly: true
          type: array
      required:
        - highlight_level
        - name
        - type
      type: object
    CouponGenericOffer:
      properties:
        application_channel:
          description: >-
            Offer availability: **ONLINE** if the offer is online only.
            **OFFLINE** if the offer is offline only. **BOTH** if the offer is
            online and offline
          enum:
            - ONLINE
            - OFFLINE
            - BOTH
          example: ONLINE
          readOnly: true
        application_url:
          description: >-
            URL to reach the offer if the offer channel is **ONLINE** or
            **BOTH**
          example: https://www.mybrand.fr
          format: url
          nullable: true
          readOnly: true
          type: string
        brand:
          $ref: '#/components/schemas/ConsumerOfferBrand'
        coupon_diffusion_type:
          description: |
            - QR: QR code
            - EAN: Bar code
            - CODE: Full text (alpha num) code
          enum:
            - QR
            - EAN
            - CODE
          maxLength: 4
          nullable: true
          readOnly: true
          type: string
        coupon_generic_code:
          description: Generic code allowing the consumer to benefit from the offer
          readOnly: true
          type: string
        created_at:
          description: Object creation datetime
          example: '2019-01-31T15:16:15.523309+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        description:
          description: description
          nullable: true
          readOnly: true
          type: string
        end_date:
          description: 'Date (ex. 2017-12-26T23:00:00+00:00): End date of the offer.'
          example: '2018-12-21T00:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        favorite:
          description: TRUE if the offer is liked by consumer, FALSE if not
          example: true
          readOnly: true
          type: boolean
        highlight_level:
          description: >-
            Enum in: HIGHEST, HIGH, NORMAL. For a contextual display (banner,
            carousel etc...), this value is set by the program manager on each
            offer
          example: HIGH
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        is_activated:
          description: TRUE if the object is active, FALSE if not
          example: true
          readOnly: true
          type: boolean
        legal_terms:
          description: Legal terms
          nullable: true
          readOnly: true
          type: string
        merchant:
          description: Merchant that has created the offer
          nullable: true
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
            logo:
              allOf:
                - $ref: '#/components/schemas/Image'
              nullable: true
              readOnly: true
            name:
              readOnly: true
              type: string
          readOnly: true
          required:
            - name
          type: object
        name:
          description: Name of the object
          readOnly: true
          type: string
        network:
          description: >-
            UUID: If the offer is promoting a selection of stores belonging to a
            specific network, ID of the network. Else, null
          example: 739c5ba7-8831-4664-9ce3-73e9f1e50c09
          nullable: true
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
            logo:
              format: uuid
              nullable: true
              readOnly: true
              type: string
          readOnly: true
          type: object
        picture:
          anyOf:
            - $ref: '#/components/schemas/Image'
            - nullable: true
              type: object
        program:
          description: Program manager object.
          properties:
            id:
              type: string
            legal_terms:
              type: string
            name:
              type: string
          readOnly: true
          type: object
        publication_date:
          description: >-
            Offer publication datetime. An offer can be published before its
            starting date (for teasing purposes)
          example: '2019-01-01T00:00:00+00:00'
          format: date-time
          nullable: true
          readOnly: true
          type: string
        reference:
          description: >-
            Unique reference of the offer. Human readable, made out from the
            concatenation of the brand name + creation date + increment.
          example: MYBRAND-20180220-001
          readOnly: true
          type: string
        start_date:
          description: 'Date (ex. 2017-12-26T23:00:00+00:00): Start date of the offer.'
          example: '2018-12-21T00:00:00+00:00'
          format: date-time
          readOnly: true
          type: string
        status:
          description: >
            - ACTIVE: The offer is available and your customers can benefit from
            it.

            - COMPLETED: All the coupons of the offer have been burnt, the offer
            is no longer active.

            - PUBLISHED: The offer is published but not yet active. You can
            choose to display them to tease your customers.
          readOnly: true
          type: string
        type:
          description: 'Enum in: CASHBACK, UNIQUE_COUPON, GENERIC_COUPON'
          enum:
            - CASHBACK
            - UNIQUE_COUPON
            - GENERIC_COUPON
          example: CASHBACK
          readOnly: true
          type: string
        universes:
          description: Universes
          items:
            $ref: '#/components/schemas/Universe'
          readOnly: true
          type: array
      required:
        - coupon_generic_code
        - highlight_level
        - name
        - type
      type: object
    Image:
      properties:
        content_type:
          description: Content type of the file
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          type: string
        links:
          $ref: '#/components/schemas/Links'
        name:
          description: Name of the object
          type: string
        owner:
          description: ID of the uploader of the file
          format: uuid
          nullable: true
          type: string
      type: object
    ConsumerOfferBrand:
      properties:
        description:
          description: description
          nullable: true
          readOnly: true
          type: string
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          type: string
        legal_terms:
          description: Legal terms
          nullable: true
          readOnly: true
          type: string
        logo:
          anyOf:
            - $ref: '#/components/schemas/Image'
            - nullable: true
              type: object
        name:
          description: Name of the object
          type: string
        universes:
          description: Universes
          items:
            $ref: '#/components/schemas/ConsumerUniverse'
          readOnly: true
          type: array
      type: object
    ConsumerSegment:
      properties:
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          type: string
      type: object
    Universe:
      properties:
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        name:
          description: Name of the object
          nullable: true
          readOnly: true
          type: string
      type: object
    Links:
      properties:
        download:
          description: The link to download the data.
          format: url
          type: string
        preview:
          description: The link to preview the data.
          format: url
          type: string
      type: object
    ConsumerUniverse:
      properties:
        children:
          description: Children universes of the current universe (nested objects)
          items:
            $ref: '#/components/schemas/ConsumerUniverse'
          nullable: true
          readOnly: true
          type: array
        id:
          description: Unique ID of the object.
          example: e2c32b4b-de61-459b-accf-a75f76247946
          format: uuid
          readOnly: true
          type: string
        name:
          description: Name of the object
          nullable: true
          readOnly: true
          type: string
        parent_id:
          description: 'UUID : unique ID of the parent of the object'
          example: 5c5e6d04-9dfc-46b8-9432-7c977f1dca23
          format: uuid
          nullable: true
          readOnly: true
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````