Harbor Rewards API

Operations for managing the rewards catalog that members can redeem with earned points.

OpenAPI Specification

harbor-rewards-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Harbor Challenges Rewards API
  description: The Harbor API enables programmatic access to the Harbor community platform, allowing brands to manage their superfan community, rewards programs, and engagement features. Harbor is a no-code tool that lets brands build owned community platforms where superfans can engage and earn rewards. The API provides endpoints for managing members, challenges, rewards, redemptions, leaderboards, and community events. Authentication uses bearer tokens obtained via OAuth 2.0 client credentials.
  version: v1
  contact:
    name: Harbor Support
    url: https://www.harbor.gg/
  termsOfService: https://www.harbor.gg/terms
servers:
- url: https://api.harbor.gg/v1
  description: Harbor API Production Server
security:
- bearerAuth: []
tags:
- name: Rewards
  description: Operations for managing the rewards catalog that members can redeem with earned points.
paths:
  /communities/{communityId}/rewards:
    get:
      operationId: listRewards
      summary: Harbor List rewards
      description: Returns the rewards catalog for the community, including reward names, point costs, availability status, and redemption limits. Members can redeem rewards using their earned points.
      tags:
      - Rewards
      parameters:
      - $ref: '#/components/parameters/communityIdParam'
      - name: status
        in: query
        description: Filter by reward availability status.
        schema:
          type: string
          enum:
          - active
          - inactive
          - sold_out
      responses:
        '200':
          description: List of available rewards.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardList'
        '401':
          description: Unauthorized.
        '404':
          description: Community not found.
components:
  schemas:
    Reward:
      type: object
      description: A reward available for redemption in the community catalog.
      properties:
        id:
          type: string
          description: Unique reward identifier.
        communityId:
          type: string
          description: Community this reward belongs to.
        title:
          type: string
          description: Reward display title.
        description:
          type: string
          description: Detailed reward description.
        pointCost:
          type: integer
          description: Number of points required to redeem this reward.
          minimum: 1
        type:
          type: string
          description: Reward type.
          enum:
          - discount_code
          - physical_item
          - digital_download
          - experience
          - custom
        status:
          type: string
          description: Availability status.
          enum:
          - active
          - inactive
          - sold_out
        quantity:
          type: integer
          description: Total quantity available. Null for unlimited.
        remainingQuantity:
          type: integer
          description: Current remaining quantity.
        imageUrl:
          type: string
          format: uri
          description: URL of the reward image.
    RewardList:
      type: object
      description: List of community rewards.
      properties:
        data:
          type: array
          description: Array of reward objects.
          items:
            $ref: '#/components/schemas/Reward'
        total:
          type: integer
          description: Total number of rewards.
  parameters:
    communityIdParam:
      name: communityId
      in: path
      required: true
      description: The unique identifier of the Harbor community.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token obtained via OAuth 2.0 client credentials flow. Contact Harbor to obtain API credentials.
externalDocs:
  description: Harbor API Documentation
  url: https://api.harbor.gg/