Harbor Redemptions API

Operations for managing reward redemption requests from members.

Operations 2

GET /communities/{communityId}/redemptions Harbor List redemptions #
POST /communities/{communityId}/redemptions Harbor Create a redemption request #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harbor-redemptions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harbor-redemptions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harbor Challenges Redemptions 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: Redemptions
  description: Operations for managing reward redemption requests from members.
paths:
  /communities/{communityId}/redemptions:
    get:
      operationId: listRedemptions
      summary: Harbor List redemptions
      description: Returns a paginated list of reward redemption requests from community members. Can be filtered by status (pending, approved, fulfilled, rejected) for fulfillment workflow management.
      tags:
      - Redemptions
      parameters:
      - $ref: '#/components/parameters/communityIdParam'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      - name: status
        in: query
        description: Filter by redemption status.
        schema:
          type: string
          enum:
          - pending
          - approved
          - fulfilled
          - rejected
      responses:
        '200':
          description: List of redemptions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedemptionList'
        '401':
          description: Unauthorized.
    post:
      operationId: createRedemption
      summary: Harbor Create a redemption request
      description: Submits a redemption request on behalf of a member for a specific reward from the catalog. Deducts the reward's point cost from the member's balance if they have sufficient points.
      tags:
      - Redemptions
      parameters:
      - $ref: '#/components/parameters/communityIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRedemptionRequest'
      responses:
        '201':
          description: Redemption created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Redemption'
        '400':
          description: Insufficient points or reward unavailable.
        '401':
          description: Unauthorized.
components:
  schemas:
    CreateRedemptionRequest:
      type: object
      description: Request body for creating a reward redemption.
      required:
      - memberId
      - rewardId
      properties:
        memberId:
          type: string
          description: Identifier of the member redeeming the reward.
        rewardId:
          type: string
          description: Identifier of the reward to redeem.
        shippingAddress:
          type: object
          description: Shipping address for physical reward redemptions.
          properties:
            name:
              type: string
              description: Recipient name.
            line1:
              type: string
              description: Address line 1.
            line2:
              type: string
              description: Address line 2.
            city:
              type: string
              description: City.
            state:
              type: string
              description: State or province.
            postalCode:
              type: string
              description: Postal code.
            country:
              type: string
              description: ISO 3166-1 alpha-2 country code.
              pattern: ^[A-Z]{2}$
    Redemption:
      type: object
      description: A reward redemption request from a community member.
      properties:
        id:
          type: string
          description: Unique redemption identifier.
        communityId:
          type: string
          description: Community this redemption belongs to.
        memberId:
          type: string
          description: Member who requested the redemption.
        rewardId:
          type: string
          description: Reward being redeemed.
        reward:
          $ref: '#/components/schemas/Reward'
        pointsSpent:
          type: integer
          description: Points deducted for this redemption.
        status:
          type: string
          description: Current redemption status.
          enum:
          - pending
          - approved
          - fulfilled
          - rejected
        fulfillmentData:
          type: object
          description: Fulfillment data such as discount codes or shipping information.
          additionalProperties: true
        createdAt:
          type: string
          format: date-time
          description: When the redemption was requested.
        updatedAt:
          type: string
          format: date-time
          description: When the redemption was last updated.
    RedemptionList:
      type: object
      description: Paginated list of redemptions.
      properties:
        data:
          type: array
          description: Array of redemption objects.
          items:
            $ref: '#/components/schemas/Redemption'
        total:
          type: integer
          description: Total number of redemptions.
        page:
          type: integer
          description: Current page number.
        limit:
          type: integer
          description: Results per page.
    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.
  parameters:
    communityIdParam:
      name: communityId
      in: path
      required: true
      description: The unique identifier of the Harbor community.
      schema:
        type: string
    pageParam:
      name: page
      in: query
      description: Page number for pagination (1-based).
      schema:
        type: integer
        minimum: 1
        default: 1
    limitParam:
      name: limit
      in: query
      description: Number of results per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
  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/