> ## 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.

# Gets Offer Details

> Gets the offer object that has the ID attribute with the specified value.
This route allows you to get the details of a specific offer, from the perspective of a generic consumer.
If the consumer hasn't access to the offer (because the offer is deactivated or doesn't exist or is not generic i.e. is targeted), the response will be a 404 Error.




## OpenAPI

````yaml /program/api/openapi/legacy/1.0.0/connector.json get /connectors/consumers/{consumer_id}/offers/{offer_id}
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.0
servers:
  - url: https://api.sandbox.paylead.tech
security:
  - ApiKeyAuth: []
paths:
  /connectors/consumers/{consumer_id}/offers/{offer_id}:
    get:
      tags:
        - Offers
      summary: Gets Offer Details
      description: >
        Gets the offer object that has the ID attribute with the specified
        value.

        This route allows you to get the details of a specific offer, from the
        perspective of a generic consumer.

        If the consumer hasn't access to the offer (because the offer is
        deactivated or doesn't exist or is not generic i.e. is targeted), the
        response will be a 404 Error.
      operationId: get.OfferResource.impersonate
      parameters:
        - description: The id you used to create the given consumer
          in: path
          name: consumer_id
          required: true
          schema:
            type: string
        - description: Unique ID of the offer on PayLead system.
          in: path
          name: offer_id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOffer'
          description: OK
          links:
            put.OfferFavoriteResource:
              operationId: put.OfferFavoriteResource.impersonate
              parameters:
                consumer_id: $request.path.consumer_id
                offer_id: $request.path.offer_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:
    UserOffer:
      discriminator:
        mapping:
          AFFILIATION: '#/components/schemas/AffiliationUserOffer'
          CASHBACK: '#/components/schemas/CashbackUserOffer'
          GENERIC_COUPON: '#/components/schemas/CouponGenericUserOffer'
          LBS_CASHBACK: '#/components/schemas/CashbackUserOffer'
          UNIQUE_COUPON: '#/components/schemas/CouponUniqueUserOffer'
          VOUCHER: '#/components/schemas/VoucherUserOffer'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/CashbackOffer'
        - $ref: '#/components/schemas/CouponUniqueOffer'
        - $ref: '#/components/schemas/CouponGenericOffer'
    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
    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
    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
    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
    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
    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
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````