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

# Browse Profile Benefits

> A `GET` to the `/profiles/{profileId}/benefits` endpoint allows your application to retrieve all Benefits records associated with a Profile.

Browse a profiles available benefits. Similar to [Browse Profile Claimable Benefits](/api-reference/profile-benefit/browse-profile-claimable-benefits) however this will only showed Issued benefits against a profile.

## Filtering Benefits

Omneo allows filter parameters to be appended to the request URL.
These filters allow developers to refine the results returned in the response.
This saves developers from filtering all results on their front end.

Filters are available on the following attributes:

'benefit\_definition\_id',
'expires\_at',
'issued\_at',
'meta',
'external\_id',
'timezone',
'claimed\_at',
'redeem\_code\_pos',
'redeem\_code\_online'

Let's imagine we *only* want to display benefits with the tag "demo"
We can append filter parameters to our original endpoint as below:
`{{baseUrl}}/profiles/{profileId}/benefits?tags[]=demo`
where `?tags[]=demo` results in the API returning only eligible benefits, with a tag of "demo"

We can even go one step further an add advanced filters to identify specific attributes such as:
`?filter[benefit_definition_id]=3`

Multiple filters can be used by separating the requests with `&`
**Search for multiple tags:**
`?tags[]=csv&tags[]=download`
**Multiple filters at once:**
?filter\[claimed\_at]=2020-10-10\&tags\[]=download

**Logical operators can also be used in filters:**
`?filter[expires_at][lte]=2020-10-01&filter[expires_at][gte]=2020-11-01&tags[]=download`

| Operator | Description                   |
| -------- | ----------------------------- |
| ne       | Not Equal `!=`                |
| gt       | Greater Than `>`              |
| gte      | Greater Than or Equal To `>=` |
| lt       | Less Than `<`                 |
| lte      | Less Than or Equal To `<=`    |


## OpenAPI

````yaml get /v3/profiles/{profile}/benefits
openapi: 3.1.0
info:
  title: Omneo
  version: 0.0.1
servers:
  - url: https://api.{tenant}.getomneo.com/api
    variables:
      tenant:
        default: example
security: []
paths:
  /v3/profiles/{profile}/benefits:
    get:
      tags:
        - Profile Benefit
      summary: Browse Profile Benefits
      description: >-
        A `GET` to the `/profiles/{profileId}/benefits` endpoint allows your
        application to retrieve all Benefits records associated with a Profile.
      operationId: profiles.benefits.index
      parameters:
        - name: profile
          in: path
          required: true
          description: The profile ID
          schema:
            type: string
            format: uuid
        - name: page[size]
          in: query
          schema:
            type: string
        - name: include_expired
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Array of `Benefit`
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Benefit'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
components:
  schemas:
    Benefit:
      type: object
      properties:
        id:
          type: integer
        profile_id:
          type: string
        external_id:
          type:
            - string
            - 'null'
        expires_at:
          type: string
        issued_at:
          type: string
        is_expired:
          type: string
        is_redeemable:
          type: string
        redemptions_remaining:
          type: string
        total_global_redemptions_remaining:
          anyOf:
            - type: 'null'
            - type: object
            - type: integer
        definition:
          $ref: '#/components/schemas/BenefitDefinition'
        timezone:
          type:
            - string
            - 'null'
        claimed_at:
          type: string
        meta:
          type:
            - array
            - 'null'
          items: {}
        redeem_code_pos:
          type:
            - string
            - 'null'
        redeem_code_online:
          type:
            - string
            - 'null'
        created_at:
          type: string
        updated_at:
          type: string
        value:
          type:
            - string
            - 'null'
        combine_meta:
          type:
            - array
            - 'null'
          items: {}
        is_combined:
          type:
            - boolean
            - 'null'
        extended_at:
          type: string
        source_id:
          type:
            - integer
            - 'null'
        source_type:
          type:
            - string
            - 'null'
      required:
        - id
        - profile_id
        - external_id
        - expires_at
        - issued_at
        - is_expired
        - is_redeemable
        - redemptions_remaining
        - total_global_redemptions_remaining
        - definition
        - timezone
        - claimed_at
        - meta
        - redeem_code_pos
        - redeem_code_online
        - created_at
        - updated_at
        - value
        - combine_meta
        - is_combined
        - extended_at
        - source_id
        - source_type
      title: Benefit
    BenefitDefinition:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        handle:
          type: string
        type:
          type:
            - string
            - 'null'
        region_id:
          type:
            - integer
            - 'null'
        region:
          type:
            - object
            - 'null'
          properties:
            id:
              type: integer
            name:
              type: string
            handle:
              type: string
          required:
            - id
            - name
            - handle
        currency:
          type:
            - string
            - 'null'
        period:
          type:
            - integer
            - 'null'
        description:
          type:
            - string
            - 'null'
        internal_notes:
          type:
            - string
            - 'null'
        meta:
          type:
            - array
            - 'null'
          items: {}
        short_description:
          type:
            - string
            - 'null'
        long_description:
          type:
            - string
            - 'null'
        terms_conditions:
          type:
            - string
            - 'null'
        earn_instructions:
          type:
            - string
            - 'null'
        redeem_instructions_store:
          type:
            - string
            - 'null'
        redeem_instructions_online:
          type:
            - string
            - 'null'
        redeem_code_pos:
          type:
            - string
            - 'null'
        redeem_code_online:
          type:
            - string
            - 'null'
        icon:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
        max_redemptions:
          type:
            - integer
            - 'null'
        is_extendable:
          type: boolean
        is_assignable:
          type: boolean
        is_reassignable:
          type: boolean
        is_published:
          type: boolean
        is_archived:
          type: boolean
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        is_claimable:
          type: boolean
        max_global_redemptions:
          type:
            - integer
            - 'null'
        claim_period_start_at:
          type: string
        claim_period_end_at:
          type: string
        claim_condition:
          type:
            - array
            - 'null'
          items: {}
        is_reclaimable:
          type:
            - boolean
            - 'null'
        notify_schedule_offset:
          type:
            - integer
            - 'null'
        notify_issue_offset_days:
          type:
            - integer
            - 'null'
        notify_issue_offset_hour:
          type:
            - integer
            - 'null'
        notify_remind_offset_days:
          type:
            - integer
            - 'null'
        notify_remind_offset_hour:
          type:
            - integer
            - 'null'
        notify_extend_offset_days:
          type:
            - integer
            - 'null'
        notify_extend_offset_hour:
          type:
            - integer
            - 'null'
        remind_target_id:
          type:
            - integer
            - 'null'
        extend_target_id:
          type:
            - integer
            - 'null'
        issue_target_id:
          type:
            - integer
            - 'null'
        end_at:
          type: string
        total_allocations:
          type: 'null'
        total_allocations_remaining:
          type: 'null'
        force_allocation:
          type:
            - boolean
            - 'null'
        created_at:
          type: string
        updated_at:
          type: string
        claim_timeframe:
          type:
            - array
            - 'null'
          items: {}
        view_condition:
          type:
            - array
            - 'null'
          items: {}
        allow_user_redeem:
          type:
            - boolean
            - 'null'
        same_campaign_count:
          type: integer
      required:
        - id
        - name
        - handle
        - type
        - region_id
        - region
        - currency
        - period
        - description
        - internal_notes
        - meta
        - short_description
        - long_description
        - terms_conditions
        - earn_instructions
        - redeem_instructions_store
        - redeem_instructions_online
        - redeem_code_pos
        - redeem_code_online
        - icon
        - image_url
        - max_redemptions
        - is_extendable
        - is_assignable
        - is_reassignable
        - is_published
        - is_archived
        - tags
        - is_claimable
        - max_global_redemptions
        - claim_period_start_at
        - claim_period_end_at
        - claim_condition
        - is_reclaimable
        - notify_schedule_offset
        - notify_issue_offset_days
        - notify_issue_offset_hour
        - notify_remind_offset_days
        - notify_remind_offset_hour
        - notify_extend_offset_days
        - notify_extend_offset_hour
        - remind_target_id
        - extend_target_id
        - issue_target_id
        - end_at
        - total_allocations
        - total_allocations_remaining
        - force_allocation
        - created_at
        - updated_at
        - claim_timeframe
        - view_condition
        - allow_user_redeem
        - same_campaign_count
      title: BenefitDefinition
    Tag:
      type: string
      title: Tag
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message

````