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

# Get Access Entitlements

> Retrieve a list of all features a customer currently has access to.

export const IntRedir = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    setTimeout(() => {
      const currentUrl = new URL(window.location.href);
      if (currentUrl.hostname === 'docs-int.wingback.com') {
        currentUrl.hostname = 'docs.wingback.com';
        window.location.replace(currentUrl.toString());
      }
    }, 1);
    return <></>;
  }
};

<IntRedir />


## OpenAPI

````yaml GET /v1/c/entitlement/{customer_id}/access
openapi: 3.0.3
info:
  title: wingback-api
  description: ''
  contact:
    name: ''
  license:
    name: commercial
  version: 0.1.0
servers:
  - url: http://127.0.0.1:8080
    description: Local server
  - url: https://api.app.test.wingback.com
    description: Testing server
security: []
paths:
  /v1/c/entitlement/{customer_id}/access:
    get:
      tags:
        - entitlement
      operationId: get_access
      parameters:
        - name: customer_id
          in: path
          description: Id of the customer
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Features user has access to
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitlementAccess'
      security:
        - api-key: []
        - wb_user_cookie: []
components:
  schemas:
    EntitlementAccess:
      type: object
      description: Data to show what features the given user should have access to
      required:
        - customer
        - contract
        - plan
      properties:
        contract:
          $ref: '#/components/schemas/ContractEntitlement'
        customer:
          $ref: '#/components/schemas/Customer'
        plan:
          $ref: '#/components/schemas/Plan'
    ContractEntitlement:
      type: object
      description: Describes Contract object for Entitlement endpoint
      required:
        - contract_id
        - status
      properties:
        contract_id:
          $ref: '#/components/schemas/Id'
        status:
          $ref: '#/components/schemas/ContractStatus'
    Customer:
      type: object
      description: Describes the status of the customer for Entitlement response
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/CustomerStatus'
    Plan:
      type: object
      description: Reduced information about a Plan for Entitlement endpoint
      required:
        - name
        - slug
        - features
      properties:
        entitlement_details:
          allOf:
            - $ref: '#/components/schemas/EntitlementStrategyDetails'
          nullable: true
        features:
          type: array
          items:
            $ref: '#/components/schemas/Feature'
          description: Features that the plan gives access to
        name:
          type: string
          description: Name of the plan
        original_plan_id:
          allOf:
            - $ref: '#/components/schemas/Id'
          nullable: true
        slug:
          type: string
          description: Slug of the plan
    Id:
      type: string
      description: >-
        Unique identifier of an object. Consists of object class prefix and a
        UUID
      example: Cust_c40bea18-c0c9-44b1-bd0c-43f5283e1670
    ContractStatus:
      type: string
      description: >-
        Status of the contract:

        * Active - Contract is active

        * Pending - Contract is not active

        * Scheduled - Contract is scheduled to activate in the future

        * Canceled - Contract has been canceled

        * Moved - User upgraded from this contract to a different one

        * NotReady - Contract was created, but billing engine has not completed
        contract setup
      enum:
        - active
        - pending
        - scheduled
        - canceled
        - moved
        - not_ready
    CustomerStatus:
      type: string
      description: >-
        Status of the Customer

        * Active - customer is active

        * Inactive - Customer account was deactivated

        * Temporary - Customer was created, but registration process was not
        completed
      enum:
        - active
        - inactive
        - temporary
    EntitlementStrategyDetails:
      oneOf:
        - type: object
          required:
            - pricing_strategy
          properties:
            pricing_strategy:
              type: string
              enum:
                - flat
        - type: object
          description: >-
            Feature is priced per unit - it's possible to purchase a fixed
            amount of units
          required:
            - unit_name
            - contracted_unit_count
            - used_unit_count
            - minimum_units
            - pricing_strategy
          properties:
            contracted_unit_count:
              type: string
              description: Number of units purchased
            maximum_units:
              type: string
              description: Maximum number of units that is possible to purchase
              nullable: true
            minimum_units:
              type: string
              description: Minimum number of units that is possible to purchase
            pricing_strategy:
              type: string
              enum:
                - per_unit
            unit_name:
              type: string
              description: Name of the unit - seats, computers, slots, etc
            used_unit_count:
              type: string
              description: If reported - specifies the number of units used
        - type: object
          description: The final price will depend on the actual usage
          required:
            - unit_name
            - used_unit_count
            - over_usage_charge_strategy
            - pricing_strategy
          properties:
            maximum_units:
              type: string
              description: Maximum number of units at default price
              nullable: true
            minimum_units:
              type: string
              description: Minimum number of units that will be charged
              nullable: true
            over_usage_charge_strategy:
              $ref: '#/components/schemas/OverUsageChargeStrategy'
            pricing_strategy:
              type: string
              enum:
                - usage
            unit_name:
              type: string
              description: Name of the unit - CPU time, RAM, etc
            used_unit_count:
              type: string
              description: The number of units used so far
        - type: object
          description: Per Unit with tiered pricing
          required:
            - unit_name
            - contracted_unit_count
            - tiers
            - used_unit_count
            - pricing_strategy
          properties:
            batch_size:
              type: integer
              format: int32
              description: >-
                If usage is in increments - this number will specify the
                increments step

                For example, if `batch_size` is 5, and actual usage is 8, usage
                will be rounded up to 10
              nullable: true
            contracted_unit_count:
              type: string
              description: Number of units purchased
            flat_fee:
              type: string
              description: Additional flat fee added on top of the used units
              nullable: true
            pricing_strategy:
              type: string
              enum:
                - unit_tiered
            tiers:
              type: array
              items:
                $ref: '#/components/schemas/Tier'
              description: tier prices
            unit_name:
              type: string
              description: Name of the unit - CPU time, RAM, etc
            used_unit_count:
              type: string
              description: The number of units used so far
        - type: object
          required:
            - unit_name
            - tiers
            - used_unit_count
            - pricing_strategy
          properties:
            batch_size:
              type: integer
              format: int32
              description: >-
                If usage is in increments - this number will specify the
                increments step

                For example, if `batch_size` is 5, and actual usage is 8, usage
                will be rounded up to 10
              nullable: true
            flat_fee:
              type: string
              description: Additional flat fee added on top of the used units
              nullable: true
            pricing_strategy:
              type: string
              enum:
                - usage_tiered
            tiers:
              type: array
              items:
                $ref: '#/components/schemas/Tier'
              description: tier prices
            unit_name:
              type: string
              description: Name of the unit - CPU time, RAM, etc
            used_unit_count:
              type: string
              description: The number of units used so far
      description: Reduced information about price specific to the Entitlement endpoint
      discriminator:
        propertyName: pricing_strategy
    Feature:
      type: object
      description: Reduced information about the plan features for Entitlement API
      required:
        - name
        - slug
      properties:
        entitlement_details:
          allOf:
            - $ref: '#/components/schemas/EntitlementStrategyDetails'
          nullable: true
        name:
          type: string
          description: Name of the feature
        original_feature_id:
          allOf:
            - $ref: '#/components/schemas/Id'
          nullable: true
        slug:
          type: string
          description: Slug of the feature
    OverUsageChargeStrategy:
      type: string
      description: >-
        Determines how overusage should be charged:

        * AllUsageOvercharge - when using over maximum amount, all usage is
        charged at overusage price

        * ExtraUsageOvercharge - when using over maximum amount, only the amount
        over maximum

        is charged at overusage price
      enum:
        - all_usage_overcharge
        - extra_usage_overcharge
    Tier:
      type: object
      description: A pricing tier
      required:
        - tier_start
        - tier_end
        - amount
      properties:
        amount:
          type: string
          description: Price per unit for this tier
        tier_end:
          $ref: '#/components/schemas/TierValue'
        tier_start:
          type: string
          description: Number of units where this tier starts applying.
    TierValue:
      oneOf:
        - type: object
          required:
            - Concrete
          properties:
            Concrete:
              type: string
        - type: string
          enum:
            - Infinity
      description: Either a number of `infinity`. Must be a string
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: wb-key
    wb_user_cookie:
      type: apiKey
      in: cookie
      name: app-session

````