Skip to content

API Calls

Base: https://api.g3nretailstack.com/influencer

Source of truth: /internal-docs/influencer-openapi.yaml/influencer/openapi.yaml

Notes: samples are schema-derived placeholders. Replace placeholder values (ORGCODE, SESSION_GUID, etc.) with real values.

Inventory

MethodPathSummaryRequest schemaResponse schema
POST/attribution/recordRecord attribution (draft)AttributionRecordRequestEnvelope
POST/campaign/createCreate campaign (draft)CampaignCreateRequestCampaignEnvelope
POST/campaign/getGet campaign (draft)CampaignGetRequestCampaignEnvelope
POST/campaign/listList campaigns (draft)CampaignListRequestCampaignListEnvelope
POST/campaign/status/setSet campaign status (draft)CampaignStatusSetRequestCampaignEnvelope
POST/commentAdd comment (draft)CommentAddRequestCommentEnvelope
POST/comment/getGet comment (draft)CommentGetRequestCommentEnvelope
POST/comment/listList comments (draft)CommentListRequestCommentListEnvelope
POST/comment/reportReport top-N largest comments (draft)CommentReportRequestCommentReportEnvelope
POST/comment/reviseRevise comment (draft)CommentReviseRequestCommentEnvelope
POST/comment/statusUpdate comment status (draft)CommentStatusRequestCommentEnvelope
POST/discount-tier/getGet channel discount tier (draft)DiscountTierGetRequestDiscountTierEnvelope
POST/discount-tier/listList channel discount tiers (draft)DiscountTierListRequestDiscountTierListEnvelope
POST/discount-tier/setSet channel discount tier (draft)DiscountTierSetRequestDiscountTierEnvelope
POST/dispute/createCreate dispute (draft)DisputeCreateRequestDisputeEnvelope
POST/dispute/getGet dispute (draft)DisputeGetRequestDisputeEnvelope
POST/dispute/listList disputes (draft)DisputeListRequestDisputeListEnvelope
POST/dispute/status/setSet dispute status (draft)DisputeStatusSetRequestDisputeEnvelope
POST/earnings/clawbackApply earnings clawback (draft)EarningsClawbackRequestEarningEnvelope
POST/earnings/holdHold earnings (draft)EarningsHoldRequestEarningEnvelope
POST/earnings/listList earnings (draft)EarningsListRequestEarningsListEnvelope
POST/earnings/releaseRelease earnings to payable (draft)EarningsReleaseRequestEarningEnvelope
POST/inbox/createCreate inbox notification (draft)InboxCreateRequestInboxEnvelope
POST/inbox/getGet inbox notification (draft)InboxGetRequestInboxEnvelope
POST/inbox/listList inbox notifications (draft)InboxListRequestInboxListEnvelope
POST/inbox/stateUpdate inbox state (draft)InboxStateRequestInboxEnvelope
POST/inbox/statusUpdate inbox status (draft)InboxStatusRequestInboxEnvelope
POST/payout/ready/getGet payout readiness (draft)PayoutReadyGetRequestPayoutReadyEnvelope
POST/payout/ready/setSet payout readiness (draft)PayoutReadySetRequestPayoutReadyEnvelope
POST/payout/submitSubmit payout (draft)PayoutSubmitRequestPayoutEnvelope
POST/profile/createCreate influencer profile (draft)InfluencerProfileCreateRequestInfluencerProfileEnvelope
POST/profile/getGet influencer profile (draft)InfluencerProfileGetRequestInfluencerProfileEnvelope
GET/statHealth checkNoneEnvelope
POST/statement/createCreate payout statement (draft)StatementCreateRequestStatementEnvelope
POST/statement/getGet payout statement (draft)StatementGetRequestStatementEnvelope
POST/statement/listList payout statements (draft)StatementListRequestStatementListEnvelope

Call details

POST /attribution/record

Purpose: Record attribution (draft)

Notes: Record attribution (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).

Request schema: AttributionRecordRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "order_ref": "string",
  "channel_code": "pos_generic",
  "amount": {
    "currency": "string",
    "amount": 0
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {},
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /attribution/record",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /campaign/create

Purpose: Create campaign (draft)

Notes: Create campaign (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: CampaignCreateRequest Response schema: CampaignEnvelope

Sample request (schema-derived)

json
{
  "campaign": {
    "request_context": {
      "orgcode": "ORGCODE",
      "actor": "string",
      "context_source": "session"
    },
    "reason": "example",
    "source_refs": [
      {
        "kind": null,
        "id": null
      }
    ],
    "name": "string"
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "campaign": {
      "campaign_id": "string",
      "status": "draft",
      "name": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /campaign/create",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /campaign/get

Purpose: Get campaign (draft)

Notes: Get campaign (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: CampaignGetRequest Response schema: CampaignEnvelope

Sample request (schema-derived)

json
{
  "campaign_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "campaign": {
      "campaign_id": "string",
      "status": "draft",
      "name": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /campaign/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /campaign/list

Purpose: List campaigns (draft)

Notes: List campaigns (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: CampaignListRequest Response schema: CampaignListEnvelope

Sample request (schema-derived)

json
{
  "status": "active",
  "start_from": "2026-01-01T00:00:00Z",
  "start_to": "2026-01-01T00:00:00Z"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "campaigns": [
      {
        "campaign_id": "string",
        "status": "draft",
        "name": "string"
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /campaign/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /campaign/status/set

Purpose: Set campaign status (draft)

Notes: Set campaign status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: CampaignStatusSetRequest Response schema: CampaignEnvelope

Sample request (schema-derived)

json
{
  "campaign_id": "string",
  "status": "draft",
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "campaign": {
      "campaign_id": "string",
      "status": "draft",
      "name": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /campaign/status/set",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /comment

Purpose: Add comment (draft)

Notes: Add comment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).

Request schema: CommentAddRequest Response schema: CommentEnvelope

Sample request (schema-derived)

json
{
  "target_type": "string",
  "target_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "comment": {
      "comment_id": "string",
      "target_type": "string",
      "target_id": "string",
      "status": "current",
      "current_revision": 0,
      "created_at": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /comment",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /comment/get

Purpose: Get comment (draft)

Notes: Get comment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: CommentGetRequest Response schema: CommentEnvelope

Sample request (schema-derived)

json
{
  "comment_id": "string",
  "target_type": "string",
  "target_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "comment": {
      "comment_id": "string",
      "target_type": "string",
      "target_id": "string",
      "status": "current",
      "current_revision": 0,
      "created_at": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /comment/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /comment/list

Purpose: List comments (draft)

Notes: List comments (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: CommentListRequest Response schema: CommentListEnvelope

Sample request (schema-derived)

json
{
  "target_type": "string",
  "target_id": "string",
  "user_guid": "USER_GUID"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "items": [
      {
        "comment_id": "string",
        "target_type": "string",
        "target_id": "string",
        "status": "current",
        "current_revision": 0,
        "created_at": "2026-01-01T00:00:00Z"
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /comment/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /comment/report

Purpose: Report top-N largest comments (draft)

Notes: Report top-N largest comments (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).

Request schema: CommentReportRequest Response schema: CommentReportEnvelope

Sample request (schema-derived)

json
{
  "limit": 8
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "items": [
      {
        "comment_id": "string",
        "target_type": "string",
        "target_id": "string"
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /comment/report",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /comment/revise

Purpose: Revise comment (draft)

Notes: Revise comment (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).

Request schema: CommentReviseRequest Response schema: CommentEnvelope

Sample request (schema-derived)

json
{
  "comment_id": "string",
  "target_type": "string",
  "target_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "comment": {
      "comment_id": "string",
      "target_type": "string",
      "target_id": "string",
      "status": "current",
      "current_revision": 0,
      "created_at": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /comment/revise",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /comment/status

Purpose: Update comment status (draft)

Notes: Update comment status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: CommentStatusRequest Response schema: CommentEnvelope

Sample request (schema-derived)

json
{
  "comment_id": "string",
  "target_type": "string",
  "target_id": "string",
  "status": "current"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "comment": {
      "comment_id": "string",
      "target_type": "string",
      "target_id": "string",
      "status": "current",
      "current_revision": 0,
      "created_at": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /comment/status",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /discount-tier/get

Purpose: Get channel discount tier (draft)

Notes: Get channel discount tier (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: DiscountTierGetRequest Response schema: DiscountTierEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string",
  "channel_code": "pos_generic"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "discount_tier": {
      "influencer_guid": "string",
      "channel_code": "pos_generic",
      "tier_code": "CODE1",
      "status": "active",
      "discount": {
        "type": "percent",
        "value": 0
      },
      "revision": 0
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /discount-tier/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /discount-tier/list

Purpose: List channel discount tiers (draft)

Notes: List channel discount tiers (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: DiscountTierListRequest Response schema: DiscountTierListEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "discount_tiers": [
      {
        "influencer_guid": "string",
        "channel_code": "pos_generic",
        "tier_code": "CODE1",
        "status": "active",
        "discount": {
          "type": null,
          "value": null
        },
        "revision": 0
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /discount-tier/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /discount-tier/set

Purpose: Set channel discount tier (draft)

Notes: Set channel discount tier (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: DiscountTierSetRequest Response schema: DiscountTierEnvelope

Sample request (schema-derived)

json
{
  "discount_tier": {
    "request_context": {
      "orgcode": "ORGCODE",
      "actor": "string",
      "context_source": "session"
    },
    "reason": "example",
    "source_refs": [
      {
        "kind": null,
        "id": null
      }
    ],
    "influencer_guid": "string",
    "channel_code": "pos_generic",
    "discount": {
      "type": "percent",
      "value": 0
    }
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "discount_tier": {
      "influencer_guid": "string",
      "channel_code": "pos_generic",
      "tier_code": "CODE1",
      "status": "active",
      "discount": {
        "type": "percent",
        "value": 0
      },
      "revision": 0
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /discount-tier/set",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /dispute/create

Purpose: Create dispute (draft)

Notes: Create dispute (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier B (p95 400ms).

Request schema: DisputeCreateRequest Response schema: DisputeEnvelope

Sample request (schema-derived)

json
{
  "dispute": {
    "influencer_guid": "string",
    "subject": {
      "kind": "string",
      "id": "string"
    }
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "dispute": {
      "dispute_id": "string",
      "influencer_guid": "string",
      "subject": {
        "kind": "string",
        "id": "string"
      }
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /dispute/create",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /dispute/get

Purpose: Get dispute (draft)

Notes: Get dispute (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: DisputeGetRequest Response schema: DisputeEnvelope

Sample request (schema-derived)

json
{
  "dispute_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "dispute": {
      "dispute_id": "string",
      "influencer_guid": "string",
      "subject": {
        "kind": "string",
        "id": "string"
      }
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /dispute/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /dispute/list

Purpose: List disputes (draft)

Notes: List disputes (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: DisputeListRequest Response schema: DisputeListEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "disputes": [
      {
        "dispute_id": "string",
        "influencer_guid": "string",
        "subject": {
          "kind": null,
          "id": null
        }
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /dispute/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /dispute/status/set

Purpose: Set dispute status (draft)

Notes: Set dispute status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier B (p95 400ms).

Request schema: DisputeStatusSetRequest Response schema: DisputeEnvelope

Sample request (schema-derived)

json
{
  "dispute_id": "string",
  "status": "open",
  "expected_revision": 0,
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "dispute": {
      "dispute_id": "string",
      "influencer_guid": "string",
      "subject": {
        "kind": "string",
        "id": "string"
      }
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /dispute/status/set",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /earnings/clawback

Purpose: Apply earnings clawback (draft)

Notes: Apply earnings clawback (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 400ms).

Request schema: EarningsClawbackRequest Response schema: EarningEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string",
  "earning_id": "string",
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "earning": {
      "earning_id": "string",
      "influencer_guid": "string",
      "order_ref": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /earnings/clawback",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /earnings/hold

Purpose: Hold earnings (draft)

Notes: Hold earnings (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 400ms).

Request schema: EarningsHoldRequest Response schema: EarningEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string",
  "earning_id": "string",
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "earning": {
      "earning_id": "string",
      "influencer_guid": "string",
      "order_ref": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /earnings/hold",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /earnings/list

Purpose: List earnings (draft)

Notes: List earnings (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: EarningsListRequest Response schema: EarningsListEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "earnings": [
      {
        "earning_id": "string",
        "influencer_guid": "string",
        "order_ref": "string"
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /earnings/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /earnings/release

Purpose: Release earnings to payable (draft)

Notes: Release earnings to payable (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier B (p95 400ms).

Request schema: EarningsReleaseRequest Response schema: EarningEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string",
  "earning_id": "string",
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "earning": {
      "earning_id": "string",
      "influencer_guid": "string",
      "order_ref": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /earnings/release",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /inbox/create

Purpose: Create inbox notification (draft)

Notes: Create inbox notification (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: InboxCreateRequest Response schema: InboxEnvelope

Sample request (schema-derived)

json
{
  "team_guid": "string",
  "title": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "notification": {
      "notification_id": "string",
      "team_guid": "string",
      "status": "inbox",
      "state": "pending",
      "priority": "low",
      "title": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /inbox/create",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /inbox/get

Purpose: Get inbox notification (draft)

Notes: Get inbox notification (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: InboxGetRequest Response schema: InboxEnvelope

Sample request (schema-derived)

json
{
  "notification_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "notification": {
      "notification_id": "string",
      "team_guid": "string",
      "status": "inbox",
      "state": "pending",
      "priority": "low",
      "title": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /inbox/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /inbox/list

Purpose: List inbox notifications (draft)

Notes: List inbox notifications (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: InboxListRequest Response schema: InboxListEnvelope

Sample request (schema-derived)

json
{
  "team_guid": "string",
  "org_wide": false,
  "status": "inbox"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "items": [
      {
        "notification_id": "string",
        "team_guid": "string",
        "status": "inbox",
        "state": "pending",
        "priority": "low",
        "title": "string"
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /inbox/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /inbox/state

Purpose: Update inbox state (draft)

Notes: Update inbox state (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Route class Tier A (p95 500ms).

Request schema: InboxStateRequest Response schema: InboxEnvelope

Sample request (schema-derived)

json
{
  "notification_id": "string",
  "state": "pending"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "notification": {
      "notification_id": "string",
      "team_guid": "string",
      "status": "inbox",
      "state": "pending",
      "priority": "low",
      "title": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /inbox/state",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /inbox/status

Purpose: Update inbox status (draft)

Notes: Update inbox status (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: InboxStatusRequest Response schema: InboxEnvelope

Sample request (schema-derived)

json
{
  "notification_id": "string",
  "status": "inbox"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "notification": {
      "notification_id": "string",
      "team_guid": "string",
      "status": "inbox",
      "state": "pending",
      "priority": "low",
      "title": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /inbox/status",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /payout/ready/get

Purpose: Get payout readiness (draft)

Notes: Get payout readiness (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: PayoutReadyGetRequest Response schema: PayoutReadyEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "payout_ready": {
      "influencer_guid": "string",
      "status": "ready",
      "revision": 0
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /payout/ready/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /payout/ready/set

Purpose: Set payout readiness (draft)

Notes: Set payout readiness (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: PayoutReadySetRequest Response schema: PayoutReadyEnvelope

Sample request (schema-derived)

json
{
  "payout_ready": {
    "request_context": {
      "orgcode": "ORGCODE",
      "actor": "string",
      "context_source": "session"
    },
    "reason": "example",
    "source_refs": [
      {
        "kind": null,
        "id": null
      }
    ],
    "influencer_guid": "string",
    "status": "ready"
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "payout_ready": {
      "influencer_guid": "string",
      "status": "ready",
      "revision": 0
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /payout/ready/set",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /payout/submit

Purpose: Submit payout (draft)

Notes: Submit payout (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: PayoutSubmitRequest Response schema: PayoutEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string",
  "amount": {
    "currency": "string",
    "amount": 0
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "payout_id": "string",
    "status": "active"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /payout/submit",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /profile/create

Purpose: Create influencer profile (draft)

Notes: Create influencer profile (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: InfluencerProfileCreateRequest Response schema: InfluencerProfileEnvelope

Sample request (schema-derived)

json
{
  "profile": {
    "request_context": {
      "orgcode": "ORGCODE",
      "actor": "string",
      "context_source": "session"
    },
    "reason": "example",
    "source_refs": [
      {
        "kind": null,
        "id": null
      }
    ]
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "profile": {
      "influencer_guid": "string",
      "status": "active",
      "display_name": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /profile/create",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /profile/get

Purpose: Get influencer profile (draft)

Notes: Get influencer profile (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: InfluencerProfileGetRequest Response schema: InfluencerProfileEnvelope

Sample request (schema-derived)

json
"value"

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "profile": {
      "influencer_guid": "string",
      "status": "active",
      "display_name": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /profile/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /stat

Purpose: Health check

Notes: Health check. Tenant routes require x-orgcode; /stat health checks do not. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier A (p95 500ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "service": "string",
    "status": "active"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /stat",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /statement/create

Purpose: Create payout statement (draft)

Notes: Create payout statement (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: StatementCreateRequest Response schema: StatementEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string",
  "period_from": "2026-01-01T00:00:00Z",
  "period_to": "2026-01-01T00:00:00Z",
  "totals": {
    "earned": {
      "currency": "string",
      "amount": 0
    },
    "payable": {
      "currency": "string",
      "amount": 0
    },
    "paid": {
      "currency": "string",
      "amount": 0
    },
    "clawed_back": {
      "currency": "string",
      "amount": 0
    }
  },
  "reason": "example",
  "source_refs": [
    {
      "kind": "string",
      "id": "string"
    }
  ]
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "statement": {
      "statement_id": "string",
      "influencer_guid": "string",
      "period_from": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /statement/create",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /statement/get

Purpose: Get payout statement (draft)

Notes: Get payout statement (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: StatementGetRequest Response schema: StatementEnvelope

Sample request (schema-derived)

json
{
  "statement_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "statement": {
      "statement_id": "string",
      "influencer_guid": "string",
      "period_from": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /statement/get",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /statement/list

Purpose: List payout statements (draft)

Notes: List payout statements (draft). Auth is via headers; org identity uses x-orgcode or body placement as documented. Paginated with limit/next_token (default 8; clamp 1–256). Route class Tier B (p95 300ms).

Request schema: StatementListRequest Response schema: StatementListEnvelope

Sample request (schema-derived)

json
{
  "influencer_guid": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "statements": [
      {
        "statement_id": "string",
        "influencer_guid": "string",
        "period_from": "2026-01-01T00:00:00Z"
      }
    ]
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /statement/list",
    "service": "influencer",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}