RendezvuDocs
    DocsAPIOpportunities

    Opportunities

    Your campaigns with their briefs, compensation, deliverables and every host assignment, so you can track a program from your own systems.

    ReferenceUpdated 5 min read
    On this page
    • List opportunities
    • Retrieve an opportunity

    An opportunity is a campaign: a brief, the compensation you offered, the deliverables you asked for, and the hosts working on it. Each host's place in the campaign is an assignment, which moves through DRAFT, READY, PROPOSED, ACTIVE and COMPLETED, or ends at DECLINED.

    The list gives you each campaign with a count of assignments by status. Retrieve one campaign to get its deliverables and every assignment. Internal comments, decline reasons, invite codes and campaign links stay in the console.

    List opportunities#

    GET/api/brand/v1/opportunities

    Your campaigns, newest first, with a count of host assignments in each state.

    Scopeopportunities:readListpaginated
    Parameters
    • pageintegeroptionaldefault 1
      The page to return, starting at 1. At most 10,000.
    • per_pageintegeroptionaldefault 25
      Items per page, between 1 and 100.
    • statuscsv of enumsoptional
      Only campaigns in these states. Comma-separated, case-insensitive: status=active,completed.
      DRAFTREADYPROPOSEDACTIVECOMPLETEDDECLINEDARCHIVED
    Returns

    A page of opportunity objects. data is an array of objects with these attributes, and the body carries pagination.

    • idstring
      The opportunity id (UUID).
    • titlestring
      Campaign title.
    • descriptionstringnullable
      The brief hosts read.
    • project_detailsstringnullable
      Longer project notes in the brief.
    • statusenum
      DRAFT, READY, PROPOSED, ACTIVE, COMPLETED, DECLINED or ARCHIVED.
    • listing_typestringnullable
      How the campaign is offered to hosts.
    • deadlinedatenullable
      When deliverables are due.
    • application_deadlinedatenullable
      When applications close.
    • target_urlstringnullable
      Where the campaign sends shoppers.
    • paymentobjectnullable
      The compensation terms you wrote. Only these keys are returned, each when set.
    • commission_ratenumbernullable
      The campaign’s commission override, as a percentage.
    • content_typesarray of strings
      The content you asked for, such as reel or story.
    • categoryarray of strings
      Campaign categories.
    • attachmentsarray of objects
      Files attached to the brief.
    • assignment_countsobject
      Host assignments by status, such as { "ACTIVE": 4, "COMPLETED": 2 }. Statuses with none are omitted.
    • created_attimestamp
      When the campaign was created.
    • updated_attimestamp
      When it last changed.
    curl 'https://api.rendezvu.co/api/brand/v1/opportunities?status=active,completed&per_page=1' \
      -H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"
    Response
    {
      "success": true,
      "data": [
        {
          "id": "8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
          "title": "Fall trail series",
          "description": "Run the Ridgeline 30L on a long day out and show us how you pack it.",
          "project_details": "One reel and three stories per host, posted between October 10 and 24.",
          "status": "ACTIVE",
          "listing_type": null,
          "deadline": "2026-10-24",
          "application_deadline": null,
          "target_url": "https://northforkgear.com/products/ridgeline-30",
          "payment": {
            "flatFee": 500,
            "commission": 12,
            "terms": "Paid on approval of all deliverables."
          },
          "commission_rate": 12,
          "content_types": [
            "reel",
            "story"
          ],
          "category": [
            "trail running"
          ],
          "attachments": [],
          "assignment_counts": {
            "ACTIVE": 4,
            "COMPLETED": 2
          },
          "created_at": "2026-09-15T18:20:00.000Z",
          "updated_at": "2026-10-02T09:11:43.000Z"
        }
      ],
      "pagination": {
        "page": 1,
        "per_page": 1,
        "total_items": 9,
        "total_pages": 9,
        "has_next": true,
        "has_prev": false
      },
      "_timing": {
        "duration_ms": 42
      }
    }

    Retrieve an opportunity#

    GET/api/brand/v1/opportunities/{id}

    One campaign with its deliverables and every host assignment. Internal comments, decline reasons, invite codes and campaign links are not included.

    Scopeopportunities:read
    Parameters
    • idstringrequiredpath
      The opportunity id (UUID).
    Returns

    An opportunity object, as in List opportunities, with two more arrays.

    • ...opportunity
      Every attribute of the opportunity object above.
    • deliverablesarray of objects
      What each host owes.
    • assignmentsarray of objects
      One row per host on the campaign.
    Errors
    • 404Not Found
      No opportunity with this id belongs to your brand.
    curl 'https://api.rendezvu.co/api/brand/v1/opportunities/8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d' \
      -H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"
    Response
    {
      "success": true,
      "data": {
        "id": "8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
        "title": "Fall trail series",
        "status": "ACTIVE",
        "deadline": "2026-10-24",
        "assignment_counts": {
          "ACTIVE": 1
        },
        "deliverables": [
          {
            "id": "d1e2f3a4-b5c6-4d7e-8f9a-0b1c2d3e4f5a",
            "title": "One Instagram reel",
            "description": "Show the pack on the trail, tag @northforkgear.",
            "due_date": "2026-10-24",
            "completed_at": null
          }
        ],
        "assignments": [
          {
            "id": "f0e1d2c3-b4a5-4968-8776-655443322110",
            "status": "ACTIVE",
            "brand_payment_state": "PAID",
            "athlete_payment_state": "NOT_EARNED",
            "accepted_at": "2026-09-18T14:02:00.000Z",
            "declined_at": null,
            "completed_at": null,
            "created_at": "2026-09-16T10:00:00.000Z",
            "updated_at": "2026-09-18T14:02:00.000Z",
            "host": {
              "id": "6f1c2a9e-3b4d-4e1f-9a8b-2c7d5e6f7a81",
              "username": "jordanalpine",
              "first_name": "Jordan",
              "last_name": "Reyes",
              "profile_photo": "https://media.rendezvu.co/6f1c2a9e_profile.jpg"
            }
          }
        ]
      },
      "_timing": {
        "duration_ms": 42
      }
    }
    Related
    • ContentThe photos, videos and files in your content library, from host deliverables and your own uploads, with short-lived download URLs.
    • GiftsThe products you sent to hosts, where each gift stands, the store order behind it, and the feedback the host wrote after using it.
    Was this page helpful?