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

# Add an affiliate to a program



## OpenAPI

````yaml /api-reference/openapi.json post /programs/{program_id}/affiliates/
openapi: 3.0.3
info:
  title: Tapfiliate REST API
  version: '1.6'
  description: >-
    Reference for the Tapfiliate REST API. See the introduction for
    authentication, pagination and rate limits.
  x-generated-from: ApiBlueprint@e23e51f
servers:
  - url: https://api.tapfiliate.com/1.6
    description: Production
security:
  - ApiKey: []
tags:
  - name: Customers
    description: >-
      People who signed up or paid after being referred by an affiliate. With
      recurring or lifetime commissions, later conversions for the same customer
      go to the same affiliate.
  - name: Conversions
    description: >-
      Sales and other actions you pay commissions for. Each conversion has one
      or more commissions.
  - name: Commissions
    description: >-
      What an affiliate earns for a conversion. Approve or disapprove them
      before payout.
  - name: Affiliates
    description: >-
      The partners who promote your programs, with their meta data, notes,
      payout methods and balances.
  - name: Affiliate Groups
    description: Groups for organising your affiliates.
  - name: Affiliate Prospects
    description: >-
      People who signed up through a recruitment source but are not affiliates
      yet.
  - name: Programs
    description: >-
      Your affiliate programs, the affiliates in them and their commission
      settings.
  - name: Payments
    description: Settle affiliate balances and look up past payments.
  - name: Clicks
    description: Visits through affiliate links, the first step of attribution.
paths:
  /programs/{program_id}/affiliates/:
    post:
      tags:
        - Programs
      summary: Add an affiliate to a program
      operationId: addAnAffiliateToAProgram
      parameters:
        - name: program_id
          in: path
          description: >-
            The `id` of the Program to add the affiliate too. This id can be
            found as part of the url when viewing the program on the platform.
          required: true
          example: johns-affiliate-program
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              affiliate_id: mikemikerson
              approved: null
              coupon: MIKEFREESHIPPING
            schema:
              $ref: '#/components/schemas/AddAffiliateToProgram'
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  firstname:
                    type: string
                  lastname:
                    type: string
                  email:
                    type: string
                  company:
                    nullable: true
                  address:
                    nullable: true
                  meta_data:
                    type: object
                    properties: {}
                  parent_id:
                    nullable: true
                  referral_link:
                    type: object
                    properties:
                      link:
                        type: string
                      asset_id:
                        type: string
                      source_id:
                        nullable: true
                  coupon:
                    type: string
                  approved:
                    nullable: true
                  created_at:
                    nullable: true
                  affiliate_group_id:
                    nullable: true
                  applied_at:
                    type: string
                  promoted_at:
                    nullable: true
                  promotion_method:
                    nullable: true
                  custom_fields:
                    nullable: true
              example:
                id: sandrasanderson
                firstname: Mike
                lastname: Mikerson
                email: mike@example-parent.inc
                company: null
                address: null
                meta_data: {}
                parent_id: null
                referral_link:
                  link: https://tapper.inc/johns-cool-product/?ref=ztdkzgf
                  asset_id: 1-aaaaaa
                  source_id: null
                coupon: MIKEFREESHIPPING
                approved: null
                created_at: null
                affiliate_group_id: null
                applied_at: '2021-05-27T11:30:38+00:00'
                promoted_at: null
                promotion_method: null
                custom_fields: null
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    AddAffiliateToProgram:
      type: object
      required:
        - affiliate
      properties:
        affiliate:
          type: object
          required:
            - id
          properties:
            id:
              type: string
              example: billmurray
              description: The `id` of the affiliate
        approved:
          type: boolean
          example: true
          description: >-
            An optional approval status. Valid values are: `true` (Approved,
            default) | `false` (Disapproved) | `null` (Pending)
          nullable: true
        coupon:
          type: string
          example: JANE10OFF
          description: An optional coupon for this affiliate
    ErrorList:
      type: object
      description: Business and validation errors raised by an endpoint.
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
                description: Machine-readable code, on 409 responses.
              property_path:
                type: string
                description: The invalid field, on validation errors.
            required:
              - message
      required:
        - errors
    RequestError:
      type: object
      description: >-
        Errors raised before the endpoint runs: authentication, access, unknown
        path, server error.
      properties:
        message:
          type: string
        code:
          type: integer
        traceId:
          type: string
          description: Send this to support to find the request.
      required:
        - message
        - code
  responses:
    BadRequest:
      description: The request is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorList'
          example:
            errors:
              - message: Missing mandatory parameter(s)
    Unauthorized:
      description: The API key is missing or wrong
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
          example:
            message: Authentication Failed.
            code: 401
    Forbidden:
      description: No API access or no permission for this action
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
          example:
            message: Forbidden
            code: 403
            traceId: 04ed655728a22bc0d39f
    NotFound:
      description: The object does not exist or belongs to another account
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
          example:
            message: Not Found
            code: 404
            traceId: 7ae8e92b77572da03805
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Your API key, from your Tapfiliate account settings.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.