Tapfiliate Programs API

Manage affiliate programs and program affiliates

Operations 11

GET /programs/{program_id}/ Retrieve a Program #
GET /programs/ List all programs #
GET /programs/{program_id}/affiliates/ List all affiliates in program #
POST /programs/{program_id}/affiliates/ Add an affiliate to a program #
GET /programs/{program_id}/affiliates/{affiliate_id}/ Retrieve an affiliate in a program #
PATCH /programs/{program_id}/affiliates/{affiliate_id}/ Update an affiliate in a program #
PUT /programs/{program_id}/affiliates/{affiliate_id}/approved/ Approve an affiliate #
DELETE /programs/{program_id}/affiliates/{affiliate_id}/approved/ Disapprove an affiliate #
GET /programs/{program_id}/commission-types/ List program commission types #
GET /programs/{program_id}/levels/ List program MLM levels #
GET /programs/{program_id}/bonuses/ List program bonuses #

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/tapfiliate-programs-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

tapfiliate-programs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tapfiliate REST Affiliate Groups Programs API
  description: Tapfiliate is an affiliate tracking and management platform. This REST API allows you to create and manage affiliate programs, track conversions, manage affiliates, handle commission payouts, and record clicks. The API is versioned at V1.6 and uses API key authentication via the X-Api-Key header.
  version: '1.6'
  contact:
    name: Tapfiliate Support
    url: https://tapfiliate.com/docs/rest/
  termsOfService: https://tapfiliate.com/terms/
servers:
- url: https://api.tapfiliate.com/1.6
  description: Tapfiliate REST API v1.6
security:
- ApiKeyAuth: []
tags:
- name: Programs
  description: Manage affiliate programs and program affiliates
paths:
  /programs/{program_id}/:
    get:
      operationId: getProgram
      summary: Retrieve a Program
      description: Retrieve a single affiliate program by its ID.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      responses:
        '200':
          description: Program retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Program'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /programs/:
    get:
      operationId: listPrograms
      summary: List all programs
      description: Retrieve a paginated list of all affiliate programs.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: List of programs
          headers:
            Link:
              $ref: '#/components/headers/PaginationLink'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Program'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /programs/{program_id}/affiliates/:
    get:
      operationId: listProgramAffiliates
      summary: List all affiliates in program
      description: Retrieve all affiliates enrolled in a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: List of affiliates in program
          headers:
            Link:
              $ref: '#/components/headers/PaginationLink'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Affiliation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: addAffiliatToProgram
      summary: Add an affiliate to a program
      description: Enroll an affiliate in an affiliate program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - affiliate
              properties:
                affiliate:
                  type: object
                  required:
                  - id
                  properties:
                    id:
                      type: string
                      description: Affiliate ID
                approved:
                  type: boolean
                  description: Whether the affiliate is pre-approved
      responses:
        '201':
          description: Affiliate added to program
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Affiliation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
  /programs/{program_id}/affiliates/{affiliate_id}/:
    get:
      operationId: getProgramAffiliate
      summary: Retrieve an affiliate in a program
      description: Retrieve a specific affiliate's enrollment in a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      - $ref: '#/components/parameters/affiliateId'
      responses:
        '200':
          description: Affiliation retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Affiliation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateProgramAffiliate
      summary: Update an affiliate in a program
      description: Update an affiliate's enrollment details in a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      - $ref: '#/components/parameters/affiliateId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                coupon:
                  type: string
                referral_link:
                  type: string
      responses:
        '200':
          description: Affiliation updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Affiliation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /programs/{program_id}/affiliates/{affiliate_id}/approved/:
    put:
      operationId: approveAffiliate
      summary: Approve an affiliate
      description: Approve an affiliate's enrollment in a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      - $ref: '#/components/parameters/affiliateId'
      responses:
        '200':
          description: Affiliate approved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Affiliation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: disapproveAffiliate
      summary: Disapprove an affiliate
      description: Disapprove an affiliate's enrollment in a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      - $ref: '#/components/parameters/affiliateId'
      responses:
        '200':
          description: Affiliate disapproved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Affiliation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /programs/{program_id}/commission-types/:
    get:
      operationId: listProgramCommissionTypes
      summary: List program commission types
      description: List all commission types available for a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      responses:
        '200':
          description: Commission types
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CommissionType'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /programs/{program_id}/levels/:
    get:
      operationId: listProgramMLMLevels
      summary: List program MLM levels
      description: List multi-level marketing levels for a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      responses:
        '200':
          description: MLM levels
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    level:
                      type: integer
                    percentage:
                      type: number
                      format: float
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /programs/{program_id}/bonuses/:
    get:
      operationId: listProgramBonuses
      summary: List program bonuses
      description: List all bonus tiers for a program.
      tags:
      - Programs
      parameters:
      - $ref: '#/components/parameters/programId'
      responses:
        '200':
          description: Program bonuses
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    name:
                      type: string
                    amount:
                      type: number
                      format: float
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 50
        minimum: 1
        maximum: 100
      description: Number of results per page
    page:
      name: page
      in: query
      schema:
        type: integer
        default: 1
        minimum: 1
      description: Page number for pagination
    affiliateId:
      name: affiliate_id
      in: path
      required: true
      schema:
        type: string
      description: Affiliate ID
    programId:
      name: program_id
      in: path
      required: true
      schema:
        type: string
      description: Program ID
  schemas:
    Program:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        currency:
          type: string
          description: ISO 4217 currency code
        cookie_time:
          type: integer
          description: Cookie lifetime in days
        default_landing_page_url:
          type: string
          format: uri
        incrementing_conversions:
          type: boolean
        recurring_commissions:
          type: boolean
    Affiliation:
      type: object
      description: An affiliate's enrollment in a program
      properties:
        affiliate:
          $ref: '#/components/schemas/AffiliateRef'
        program:
          type: object
          properties:
            id:
              type: string
            title:
              type: string
        approved:
          type: boolean
        coupon:
          type:
          - string
          - 'null'
        referral_link:
          type: string
          format: uri
        created_at:
          type: string
          format: date-time
    AffiliateRef:
      type: object
      properties:
        id:
          type: string
        email:
          type: string
          format: email
        firstname:
          type: string
        lastname:
          type: string
    CommissionType:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
          - percentage
          - fixed
        percentage:
          type:
          - number
          - 'null'
          format: float
        amount:
          type:
          - number
          - 'null'
          format: float
    Error:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    UnprocessableEntity:
      description: Validation error — request body is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication failed — missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  headers:
    PaginationLink:
      description: Links to navigate between pages. Contains rel="next", rel="prev", rel="first", and rel="last" links as per RFC 5988.
      schema:
        type: string
      example: <https://api.tapfiliate.com/1.6/conversions/?page=3>; rel="next", <https://api.tapfiliate.com/1.6/conversions/?page=51>; rel="last"
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key