Reference

Build on the Lucra API.

Drag a sticker to move it, or use the arrow keys while focused.

All endpoints

Every endpoint and field.

Every endpoint with what it accepts and returns, generated from the API itself so it always matches. Each shows its SDK method. Conventions are in the introduction.

Account

GET/v1/account
read

Get the key's own account

SDKlucra.account.retrieve()
Response20022 fieldsShow
  • idacct_…
  • typeenum
    brandpartner
  • namestring
  • statusenum

    ended: a brand whose relationship with your partner account ended; it reads, but no longer changes.

    activeended
  • managedByacct_…nullable
  • brandFeeobjectnullable

    The managing partner's fee on this brand; null when none is set.

    Show 2 child fields
    • ofenum
      ad_spendgmv
    • percentnumber
  • partnerobjectnullable

    A partner's take rates; null for a brand.

    Show 2 child fields
    • creatorTakeRateobjectnullable
      Show 1 child field
      • percentnumber
    • brandFeeobjectnullable
      Show 2 child fields
      • ofenum
        ad_spendgmv
      • percentnumber
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The account's logo, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • paymentMethodobjectnullable

    A brand's payment method; null means none yet (add one with POST /v1/connections, provider card), and always null for a partner.

    Show 3 child fields
    • statusstring
      active
    • brandstringnullable
    • last4stringnullable
  • payoutsobject

    Where it's paid: verified identity lets earnings reach its balance; a bank account is asked for on the first withdrawal. Set up with POST /v1/connections (provider stripe).

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • platformFeeobject

    Lucra's fee on ad spend for programs created now; a program keeps the terms current when it was created.

    Show 3 child fields
    • percentnumber
    • sourceenum
      defaultaccount
    • versionstring
  • brandsobjectnullable

    The brands a partner key reaches; null on a managed brand.

    Show 1 child field
    • countinteger
  • creatorsobjectnullable

    The account's creators and roster; null on a managed brand.

    Show 1 child field
    • countinteger
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • listingobjectnullable

    A partner's marketplace listing; null for a brand.

    Show 4 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
    • registeredAtstringnullable
  • versioninteger
  • createdAtstring
  • updatedAtstring
PATCH/v1/account
write

Update the key's own account

SDKlucra.account.update({ body })

Body

  • creatorTakeRateobjectnullable

    The partner's cut of each payment to a creator it brought, taken from the creator's side. Up to 20%.

    Show 1 child field
    • percentnumberrequired
  • brandFeeobjectnullable
    Show 2 child fields
    • ofenumrequired
      ad_spendgmv
    • percentnumberrequired
  • profilePicturefile_…nullable
  • namestring
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • typeenum
    brandpartner
  • listingobject
    Show 3 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
  • versioninteger
Response20022 fieldsShow
  • idacct_…
  • typeenum
    brandpartner
  • namestring
  • statusenum

    ended: a brand whose relationship with your partner account ended; it reads, but no longer changes.

    activeended
  • managedByacct_…nullable
  • brandFeeobjectnullable

    The managing partner's fee on this brand; null when none is set.

    Show 2 child fields
    • ofenum
      ad_spendgmv
    • percentnumber
  • partnerobjectnullable

    A partner's take rates; null for a brand.

    Show 2 child fields
    • creatorTakeRateobjectnullable
      Show 1 child field
      • percentnumber
    • brandFeeobjectnullable
      Show 2 child fields
      • ofenum
        ad_spendgmv
      • percentnumber
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The account's logo, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • paymentMethodobjectnullable

    A brand's payment method; null means none yet (add one with POST /v1/connections, provider card), and always null for a partner.

    Show 3 child fields
    • statusstring
      active
    • brandstringnullable
    • last4stringnullable
  • payoutsobject

    Where it's paid: verified identity lets earnings reach its balance; a bank account is asked for on the first withdrawal. Set up with POST /v1/connections (provider stripe).

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • platformFeeobject

    Lucra's fee on ad spend for programs created now; a program keeps the terms current when it was created.

    Show 3 child fields
    • percentnumber
    • sourceenum
      defaultaccount
    • versionstring
  • brandsobjectnullable

    The brands a partner key reaches; null on a managed brand.

    Show 1 child field
    • countinteger
  • creatorsobjectnullable

    The account's creators and roster; null on a managed brand.

    Show 1 child field
    • countinteger
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • listingobjectnullable

    A partner's marketplace listing; null for a brand.

    Show 4 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
    • registeredAtstringnullable
  • versioninteger
  • createdAtstring
  • updatedAtstring

Analytics

GET/v1/analytics
As creatorread

Get daily ad results, or creators' organic results, optionally filtered and split by campaign, submission, creator or platform; as a creator, your own work's ad results across brands

SDKlucra.analytics.retrieve({ query })

Query parameters

  • fromstringrequired
  • tostringrequired
  • modeenum

    paid: ad results. organic: creators' own posts' views and engagement, for the last 90 days at most.

    paidorganic
  • campaigncamp_…
  • submissionsub_…
  • programprog_…
  • creatorcrtr_…
  • platformenum
    metatiktokgooglesnapchatinstagram
  • groupstring

    Split each day by campaign, submission (the creative), creator and/or platform, e.g. group=campaign,submission.

Applications

GET/v1/applications
As creatorread

List applications

SDKlucra.applications.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • programprog_…
  • creatorcrtr_…
  • statusstring

    One or more, comma-separated: pending, approved, rejected, withdrawn.

Response200A page of items, 14 fields each, and nextCursorShow
  • idappl_…
  • programprog_…
  • creatorcrtr_…
  • statusenum
    pendingapprovedrejectedwithdrawn
  • payobjectnullable

    Pay the brand set for this creator over the program's (PATCH `pay`); null when the program's pay applies. `acceptedAt` is set by the creator's next action in the program.

    Show 2 child fields
    • overrideobject
      Show 3 child fields
      • rulesobject[]
      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
    • acceptedAtstringnullable
  • payVersionintegernullable

    The program pay version this creator is paid on; null until admitted. Below the program's `payVersion` until their next action in the program accepts the newer pay.

  • payStatusenum

    past_due once a charge for this creator's program pay failed its last retry; back to current when a retry succeeds on an updated payment method.

    currentpast_due
  • agreementsRequiredboolean

    The brand invited the creator, who still has to accept the program's agreements; the application is approved once they do.

  • reviewedAtstringnullable
  • agreementsany[]

    On GET /v1/applications/:id as the creator while `agreementsRequired`: what joining accepts.

  • partnerFeeobjectnullable

    With `agreements`: the share of the creator's pay their partner takes, if any.

    Show 2 child fields
    • partnerstring
    • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/applications/:id
As creatorread

Get an application

SDKlucra.applications.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20014 fieldsShow
  • idappl_…
  • programprog_…
  • creatorcrtr_…
  • statusenum
    pendingapprovedrejectedwithdrawn
  • payobjectnullable

    Pay the brand set for this creator over the program's (PATCH `pay`); null when the program's pay applies. `acceptedAt` is set by the creator's next action in the program.

    Show 2 child fields
    • overrideobject
      Show 3 child fields
      • rulesobject[]
      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
    • acceptedAtstringnullable
  • payVersionintegernullable

    The program pay version this creator is paid on; null until admitted. Below the program's `payVersion` until their next action in the program accepts the newer pay.

  • payStatusenum

    past_due once a charge for this creator's program pay failed its last retry; back to current when a retry succeeds on an updated payment method.

    currentpast_due
  • agreementsRequiredboolean

    The brand invited the creator, who still has to accept the program's agreements; the application is approved once they do.

  • reviewedAtstringnullable
  • agreementsany[]

    On GET /v1/applications/:id as the creator while `agreementsRequired`: what joining accepts.

  • partnerFeeobjectnullable

    With `agreements`: the share of the creator's pay their partner takes, if any.

    Show 2 child fields
    • partnerstring
    • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/applications
As creatorwrite

Invite a creator to a program, or apply as one

SDKlucra.applications.create({ body })

Body

  • programprog_…required
  • creatorcrtr_…
Response20114 fieldsShow
  • idappl_…
  • programprog_…
  • creatorcrtr_…
  • statusenum
    pendingapprovedrejectedwithdrawn
  • payobjectnullable

    Pay the brand set for this creator over the program's (PATCH `pay`); null when the program's pay applies. `acceptedAt` is set by the creator's next action in the program.

    Show 2 child fields
    • overrideobject
      Show 3 child fields
      • rulesobject[]
      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
    • acceptedAtstringnullable
  • payVersionintegernullable

    The program pay version this creator is paid on; null until admitted. Below the program's `payVersion` until their next action in the program accepts the newer pay.

  • payStatusenum

    past_due once a charge for this creator's program pay failed its last retry; back to current when a retry succeeds on an updated payment method.

    currentpast_due
  • agreementsRequiredboolean

    The brand invited the creator, who still has to accept the program's agreements; the application is approved once they do.

  • reviewedAtstringnullable
  • agreementsany[]

    On GET /v1/applications/:id as the creator while `agreementsRequired`: what joining accepts.

  • partnerFeeobjectnullable

    With `agreements`: the share of the creator's pay their partner takes, if any.

    Show 2 child fields
    • partnerstring
    • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/applications/:id
As creatorwrite

Approve, reject or reopen an application, or set the creator's pay; as the creator, withdraw it or accept an invitation (approved)

SDKlucra.applications.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusenum

    pending reopens a decided application for review; a creator withdraws their own with withdrawn, or joins a program they're invited to with approved, accepting its agreements.

    pendingapprovedrejectedwithdrawn
  • payobjectnullable

    Merged over the program's pay for this creator; null returns them to the program's pay.

    Show 3 child fields
    • rulesobject[]
    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
  • versioninteger
Response20014 fieldsShow
  • idappl_…
  • programprog_…
  • creatorcrtr_…
  • statusenum
    pendingapprovedrejectedwithdrawn
  • payobjectnullable

    Pay the brand set for this creator over the program's (PATCH `pay`); null when the program's pay applies. `acceptedAt` is set by the creator's next action in the program.

    Show 2 child fields
    • overrideobject
      Show 3 child fields
      • rulesobject[]
      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
    • acceptedAtstringnullable
  • payVersionintegernullable

    The program pay version this creator is paid on; null until admitted. Below the program's `payVersion` until their next action in the program accepts the newer pay.

  • payStatusenum

    past_due once a charge for this creator's program pay failed its last retry; back to current when a retry succeeds on an updated payment method.

    currentpast_due
  • agreementsRequiredboolean

    The brand invited the creator, who still has to accept the program's agreements; the application is approved once they do.

  • reviewedAtstringnullable
  • agreementsany[]

    On GET /v1/applications/:id as the creator while `agreementsRequired`: what joining accepts.

  • partnerFeeobjectnullable

    With `agreements`: the share of the creator's pay their partner takes, if any.

    Show 2 child fields
    • partnerstring
    • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Balance

GET/v1/balance
As creatorread

Get the balance: the account's funds, or a creator's earnings

SDKlucra.balance.retrieve()
Response2002 fieldsShow
  • balancesobject[]
    Show 10 child fields
    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • availableinteger

      A brand's funds free to commit to programs; a creator's earnings past their hold, sent to their Stripe balance within the hour once their identity is verified.

    • pendinginteger

      A brand's funding that hasn't settled; a creator's earnings not yet final.

    • heldinteger

      A brand's funds held for ad-spend usage charges; a creator's earnings on their hold.

    • reservedinteger

      A brand's funds held for its programs' creators; 0 for a creator.

    • spentinteger

      Spent from a brand's funds; 0 for a creator.

    • refundableinteger

      Can be refunded with POST /v1/balance/refunds; 0 for a creator.

    • paidinteger

      A creator's earnings sent to their Stripe balance, all time; 0 for an account.

    • withdrawableinteger

      In this balance's Stripe account (a creator's, or an account's commissions), ready to withdraw with POST /v1/withdrawals.

    • instantWithdrawableinteger

      How much of `withdrawable` can go out instantly, to a debit card.

  • withdrawalFeesobject

    What a withdrawal costs; it comes out of the amount.

    Show 2 child fields
    • instantobject
      Show 2 child fields
      • percentnumber

        A percent, e.g. 1.5 for 1.5%.

      • minimuminteger

        The least an instant withdrawal costs.

    • crossBorderobject

      Added outside the US; 0 in the US.

      Show 1 child field
      • percentnumber

        A percent, e.g. 1.5 for 1.5%.

GET/v1/balance/transactions
read

List every ledger line on the account

SDKlucra.balance.transactions.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • typestring

    Comma-separated transaction types, e.g. deposit,funding_refund.

  • programprog_…
Response200A page of items, 17 fields each, and nextCursorShow
  • idtxn_…
  • typestring
  • statusstring
  • amountinteger

    Signed, in cents: positive adds to the balance.

  • feeinteger

    In cents.

  • netinteger

    Signed, in cents: `amount` less `fee`.

  • balancenumbernullable
  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • descriptionstringnullable

    What it is, e.g. Creator payment.

  • memostringnullable
  • sourcestring
  • counterpartyobject
    Show 3 child fields
    • typeenum
      partnerpayment_methodcreatorplatformaccount
    • idcrtr_…nullable

      Set when the other side is a creator.

    • namestringnullable
  • campaigncamp_…nullable
  • programprog_…nullable
  • depositdep_…nullable

    The deposit this line funds, if any.

  • refundrfnd_…nullable

    The refund this line is, if any.

  • occurredAtstring
POST/v1/balance/deposits
write

Add funds to the balance

SDKlucra.balance.deposits.create({ body })

Headers

  • Idempotency-Keystringrequired

    Unique to this write; resend it to retry safely.

Body

  • netintegerrequired

    In cents, what the balance receives: more than $0.50, at most $999,999.99. A card's fee is charged on top.

  • methodenum

    bank: a free bank debit; card: adds Lucra's card fee to the charge.

    bankcard
  • checkoutenum

    hosted (the default): pay at `checkoutUrl`; elements: pay in your own form with Stripe's Payment Element and `clientSecret`.

    hostedelements
GET/v1/balance/deposits
read

List deposits to the balance

SDKlucra.balance.deposits.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 10 fields each, and nextCursorShow
  • iddep_…
  • amountinteger

    Charged to the payer, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • methodenum

    bank: a free bank debit; card: Lucra's card fee is charged on top of what the balance receives.

    bankcard
  • statusenum

    pending until the payer pays and it settles; `net` is then available.

    pendingavailablefailedpartially_refundedrefundeddisputed
  • checkoutUrlstringnullable

    Stripe Checkout: send the payer here to pay; null for an elements checkout.

  • createdAtstring
  • updatedAtstring
GET/v1/balance/deposits/:id
read

Get a deposit

SDKlucra.balance.deposits.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20010 fieldsShow
  • iddep_…
  • amountinteger

    Charged to the payer, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • methodenum

    bank: a free bank debit; card: Lucra's card fee is charged on top of what the balance receives.

    bankcard
  • statusenum

    pending until the payer pays and it settles; `net` is then available.

    pendingavailablefailedpartially_refundedrefundeddisputed
  • checkoutUrlstringnullable

    Stripe Checkout: send the payer here to pay; null for an elements checkout.

  • createdAtstring
  • updatedAtstring
POST/v1/balance/refunds
write

Refund available funds

SDKlucra.balance.refunds.create({ body })

Headers

  • Idempotency-Keystringrequired

    Unique to this write; resend it to retry safely.

Body

  • amountintegerrequired

    In cents, up to the balance's `refundable`.

Response2018 fieldsShow
  • idrfnd_…
  • amountinteger

    Returned to the cards and banks the deposits came from, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    processingsucceededfailedreversed
  • createdAtstring
  • updatedAtstring
GET/v1/balance/refunds
read

List refunds from the balance

SDKlucra.balance.refunds.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 8 fields each, and nextCursorShow
  • idrfnd_…
  • amountinteger

    Returned to the cards and banks the deposits came from, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    processingsucceededfailedreversed
  • createdAtstring
  • updatedAtstring
GET/v1/balance/refunds/:id
read

Get a refund

SDKlucra.balance.refunds.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response2008 fieldsShow
  • idrfnd_…
  • amountinteger

    Returned to the cards and banks the deposits came from, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    processingsucceededfailedreversed
  • createdAtstring
  • updatedAtstring

Brands

GET/v1/brands
read

List the brands this key reaches, and a partner's brands whose relationship ended

SDKlucra.brands.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • statusenum
    activeended
Response200A page of items, 22 fields each, and nextCursorShow
  • idacct_…
  • typeenum
    brandpartner
  • namestring
  • statusenum

    ended: a brand whose relationship with your partner account ended; it reads, but no longer changes.

    activeended
  • managedByacct_…nullable
  • brandFeeobjectnullable

    The managing partner's fee on this brand; null when none is set.

    Show 2 child fields
    • ofenum
      ad_spendgmv
    • percentnumber
  • partnerobjectnullable

    A partner's take rates; null for a brand.

    Show 2 child fields
    • creatorTakeRateobjectnullable
      Show 1 child field
      • percentnumber
    • brandFeeobjectnullable
      Show 2 child fields
      • ofenum
        ad_spendgmv
      • percentnumber
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The account's logo, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • paymentMethodobjectnullable

    A brand's payment method; null means none yet (add one with POST /v1/connections, provider card), and always null for a partner.

    Show 3 child fields
    • statusstring
      active
    • brandstringnullable
    • last4stringnullable
  • payoutsobject

    Where it's paid: verified identity lets earnings reach its balance; a bank account is asked for on the first withdrawal. Set up with POST /v1/connections (provider stripe).

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • platformFeeobject

    Lucra's fee on ad spend for programs created now; a program keeps the terms current when it was created.

    Show 3 child fields
    • percentnumber
    • sourceenum
      defaultaccount
    • versionstring
  • brandsobjectnullable

    The brands a partner key reaches; null on a managed brand.

    Show 1 child field
    • countinteger
  • creatorsobjectnullable

    The account's creators and roster; null on a managed brand.

    Show 1 child field
    • countinteger
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • listingobjectnullable

    A partner's marketplace listing; null for a brand.

    Show 4 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
    • registeredAtstringnullable
  • versioninteger
  • createdAtstring
  • updatedAtstring
GET/v1/brands/:id
read

Get a brand

SDKlucra.brands.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20022 fieldsShow
  • idacct_…
  • typeenum
    brandpartner
  • namestring
  • statusenum

    ended: a brand whose relationship with your partner account ended; it reads, but no longer changes.

    activeended
  • managedByacct_…nullable
  • brandFeeobjectnullable

    The managing partner's fee on this brand; null when none is set.

    Show 2 child fields
    • ofenum
      ad_spendgmv
    • percentnumber
  • partnerobjectnullable

    A partner's take rates; null for a brand.

    Show 2 child fields
    • creatorTakeRateobjectnullable
      Show 1 child field
      • percentnumber
    • brandFeeobjectnullable
      Show 2 child fields
      • ofenum
        ad_spendgmv
      • percentnumber
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The account's logo, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • paymentMethodobjectnullable

    A brand's payment method; null means none yet (add one with POST /v1/connections, provider card), and always null for a partner.

    Show 3 child fields
    • statusstring
      active
    • brandstringnullable
    • last4stringnullable
  • payoutsobject

    Where it's paid: verified identity lets earnings reach its balance; a bank account is asked for on the first withdrawal. Set up with POST /v1/connections (provider stripe).

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • platformFeeobject

    Lucra's fee on ad spend for programs created now; a program keeps the terms current when it was created.

    Show 3 child fields
    • percentnumber
    • sourceenum
      defaultaccount
    • versionstring
  • brandsobjectnullable

    The brands a partner key reaches; null on a managed brand.

    Show 1 child field
    • countinteger
  • creatorsobjectnullable

    The account's creators and roster; null on a managed brand.

    Show 1 child field
    • countinteger
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • listingobjectnullable

    A partner's marketplace listing; null for a brand.

    Show 4 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
    • registeredAtstringnullable
  • versioninteger
  • createdAtstring
  • updatedAtstring
POST/v1/brands
write

Create a brand a partner manages

SDKlucra.brands.create({ body })

Body

  • namestringrequired
  • brandFeeobject
    Show 2 child fields
    • ofenumrequired
      ad_spendgmv
    • percentnumberrequired
  • emailstring
  • phonestring
Response20122 fieldsShow
  • idacct_…
  • typeenum
    brandpartner
  • namestring
  • statusenum

    ended: a brand whose relationship with your partner account ended; it reads, but no longer changes.

    activeended
  • managedByacct_…nullable
  • brandFeeobjectnullable

    The managing partner's fee on this brand; null when none is set.

    Show 2 child fields
    • ofenum
      ad_spendgmv
    • percentnumber
  • partnerobjectnullable

    A partner's take rates; null for a brand.

    Show 2 child fields
    • creatorTakeRateobjectnullable
      Show 1 child field
      • percentnumber
    • brandFeeobjectnullable
      Show 2 child fields
      • ofenum
        ad_spendgmv
      • percentnumber
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The account's logo, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • paymentMethodobjectnullable

    A brand's payment method; null means none yet (add one with POST /v1/connections, provider card), and always null for a partner.

    Show 3 child fields
    • statusstring
      active
    • brandstringnullable
    • last4stringnullable
  • payoutsobject

    Where it's paid: verified identity lets earnings reach its balance; a bank account is asked for on the first withdrawal. Set up with POST /v1/connections (provider stripe).

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • platformFeeobject

    Lucra's fee on ad spend for programs created now; a program keeps the terms current when it was created.

    Show 3 child fields
    • percentnumber
    • sourceenum
      defaultaccount
    • versionstring
  • brandsobjectnullable

    The brands a partner key reaches; null on a managed brand.

    Show 1 child field
    • countinteger
  • creatorsobjectnullable

    The account's creators and roster; null on a managed brand.

    Show 1 child field
    • countinteger
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • listingobjectnullable

    A partner's marketplace listing; null for a brand.

    Show 4 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
    • registeredAtstringnullable
  • versioninteger
  • createdAtstring
  • updatedAtstring
PATCH/v1/brands/:id
write

Update a brand a partner manages

SDKlucra.brands.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • brandFeeobjectnullable
    Show 2 child fields
    • ofenumrequired
      ad_spendgmv
    • percentnumberrequired
  • profilePicturefile_…nullable
  • namestring
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • versioninteger
Response20022 fieldsShow
  • idacct_…
  • typeenum
    brandpartner
  • namestring
  • statusenum

    ended: a brand whose relationship with your partner account ended; it reads, but no longer changes.

    activeended
  • managedByacct_…nullable
  • brandFeeobjectnullable

    The managing partner's fee on this brand; null when none is set.

    Show 2 child fields
    • ofenum
      ad_spendgmv
    • percentnumber
  • partnerobjectnullable

    A partner's take rates; null for a brand.

    Show 2 child fields
    • creatorTakeRateobjectnullable
      Show 1 child field
      • percentnumber
    • brandFeeobjectnullable
      Show 2 child fields
      • ofenum
        ad_spendgmv
      • percentnumber
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The account's logo, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • paymentMethodobjectnullable

    A brand's payment method; null means none yet (add one with POST /v1/connections, provider card), and always null for a partner.

    Show 3 child fields
    • statusstring
      active
    • brandstringnullable
    • last4stringnullable
  • payoutsobject

    Where it's paid: verified identity lets earnings reach its balance; a bank account is asked for on the first withdrawal. Set up with POST /v1/connections (provider stripe).

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • platformFeeobject

    Lucra's fee on ad spend for programs created now; a program keeps the terms current when it was created.

    Show 3 child fields
    • percentnumber
    • sourceenum
      defaultaccount
    • versionstring
  • brandsobjectnullable

    The brands a partner key reaches; null on a managed brand.

    Show 1 child field
    • countinteger
  • creatorsobjectnullable

    The account's creators and roster; null on a managed brand.

    Show 1 child field
    • countinteger
  • descriptionstringnullable
  • recruitmentobject
    Show 2 child fields
    • headlinestringnullable
    • descriptionstringnullable
  • listingobjectnullable

    A partner's marketplace listing; null for a brand.

    Show 4 child fields
    • listedboolean
    • headlinestringnullable
    • categoriesstring[]
    • registeredAtstringnullable
  • versioninteger
  • createdAtstring
  • updatedAtstring

Campaigns

POST/v1/campaigns
write

Create and launch a campaign

SDKlucra.campaigns.create({ body })

Body

  • namestringrequired
  • objectiveenum

    Defaults to the account's (GET /v1/ad-defaults), conversions unless set.

    conversionstrafficawareness
  • destinationobjectrequired
    Show 2 child fields
    • typestringrequired
    • valuestring
  • budgetobjectrequired
  • billingLimitinteger

    Stop spending once the campaign has spent this much, in cents.

  • scheduleobjectrequired
    Show 2 child fields
    • startDatestringrequired
    • endDatestring
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMininteger
    • ageMaxinteger
    • genderenum
      allfemalemale
    • expandboolean

      Meta: let it reach people beyond this audience when it expects better results (Advantage+ audience).

  • creativessub_…[]required
  • adSetsobject[]

    How the creatives are split into ad sets; by default one ad per creative, packed into as few ad sets as the platform allows.

    Show 4 child fields
    • idadset_…

      An `adset_` ID from the campaign's `adSets`, to keep that ad set across edits; omit to add one.

    • namestring
    • budgetSharenumber

      Its share of the campaign budget, in percent; shares add up to 100.

    • adsobject[]required
      Show 3 child fields
      • idad_…

        An `ad_` ID from the ad set's `ads`, to keep it.

      • creativesub_…required
      • namestring
  • adobjectrequired
    Show 3 child fields
    • primaryTextstringrequired
    • callToActionenumrequired
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestring
  • optimizationEventenum
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsobject
    Show 9 child fields
    • pixelstring

      Meta, TikTok or Snapchat pixel ID in that platform's own format.

    • conversionstring

      Meta custom conversion ID, or Google conversion action resource name.

    • conversionGoalstring

      Google custom conversion goal resource name.

    • revenueConversionstring

      Google conversion action that reports revenue, for revenue-share campaigns.

    • appstring

      Meta or TikTok registered app ID, for app store destinations.

    • logostring

      Google: square logo asset resource name and business name, for website destinations.

    • businessNamestring
    • targetCpainteger

      Google app campaigns: target cost per action in cents.

    • locationsstring[]

      TikTok location IDs.

  • trackingobject
    Show 4 child fields
    • urlParametersstring

      Added to every click's landing page: Meta's URL parameters, Google's final URL suffix, appended to TikTok's landing page.

    • trackingUrlTemplatestring

      Google: the tracking template clicks go through.

    • clickTrackingUrlstring

      TikTok: your measurement partner's click tracker.

    • impressionTrackingUrlstring

      TikTok: your measurement partner's impression tracker.

  • connectionconn_…required
  • identityenum

    Run ads under the brand's identity (default) or the creator's.

    brandcreator
  • launchboolean

    Create it on the ad platform now, paused until you PATCH status "live" (the default), or false to save it ready to create later.

Response20127 fieldsShow
  • idcamp_…
  • namestring
  • statusenum
    draftreadylivepausedneeds_attentionarchived
  • objectiveenum
    conversionsawarenesstrafficengagementleadsapp_promotionsales
  • connectionconn_…nullable
  • platformstringnullable
  • destinationobject
    Show 2 child fields
    • typeenum
      websitemobile_appios_app_storegoogle_playdeep_link
    • valuestringnullable
  • budgetobject

    In cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • scheduleobject
    Show 2 child fields
    • startDatestring
    • endDatestringnullable
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMinnumbernullable
    • ageMaxnumbernullable
    • genderenumnullable
      allfemalemale
    • expandboolean
  • adobject
    Show 3 child fields
    • primaryTextstringnullable
    • callToActionenumnullable
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestringnullable
  • optimizationEventenumnullable
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsany
  • trackingany
  • identityenum
    brandcreator
  • creativessub_…[]
  • adSetsobject[]

    The campaign's ad sets as planned: each one's share of the budget and its ads. Names can use {{variables}}.

    Show 4 child fields
    • idadset_…
    • namestring
    • budgetSharenumber

      In percent.

    • adsobject[]
      Show 3 child fields
      • idad_…
      • creativesub_…
      • namestring
  • billingLimitnumbernullable

    The campaign stops spending at this amount, in cents.

  • creatorPayobject

    What creators earn, as their programs' pay set it when the campaign was saved.

    Show 6 child fields
    • modelenum
      ad_spendattributed_revenuelead
    • creatorSharenumbernullable

      The creator's share of spend or revenue, in percent.

    • feenumbernullable

      The total usage fee on spend or revenue, in percent.

    • leadAmountintegernullable

      What a creator earns per lead, in cents.

    • capintegernullable

      The most a creator earns from the campaign, in cents.

    • revenueEventstringnullable
  • platformsobject[]

    How each ad platform reports the campaign.

    Show 3 child fields
    • platformstring
    • statusstring
    • errorstringnullable
  • pendingChangeobjectnullable

    A change still settling: waiting for the brand's approval (PATCH `pendingChange: "approved"`), or running on the ad platforms.

    Show 2 child fields
    • actionstring
    • statusenum
      awaiting_approvalin_progress
  • partnerApprovalobjectnullable
    Show 4 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requested
    • notestringnullable
    • requestedAtstringnullable
    • reviewedAtstringnullable
  • createdByPartneracct_…nullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/campaigns/:id/copies
write

Copy a campaign with its ad sets and ads, as a new campaign

SDKlucra.campaigns.copies.create({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring

    Defaults to the source's name with " (copy)".

  • launchboolean

    Publish the copy now, or (default) save it ready to launch with PATCH status "live".

Response20127 fieldsShow
  • idcamp_…
  • namestring
  • statusenum
    draftreadylivepausedneeds_attentionarchived
  • objectiveenum
    conversionsawarenesstrafficengagementleadsapp_promotionsales
  • connectionconn_…nullable
  • platformstringnullable
  • destinationobject
    Show 2 child fields
    • typeenum
      websitemobile_appios_app_storegoogle_playdeep_link
    • valuestringnullable
  • budgetobject

    In cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • scheduleobject
    Show 2 child fields
    • startDatestring
    • endDatestringnullable
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMinnumbernullable
    • ageMaxnumbernullable
    • genderenumnullable
      allfemalemale
    • expandboolean
  • adobject
    Show 3 child fields
    • primaryTextstringnullable
    • callToActionenumnullable
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestringnullable
  • optimizationEventenumnullable
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsany
  • trackingany
  • identityenum
    brandcreator
  • creativessub_…[]
  • adSetsobject[]

    The campaign's ad sets as planned: each one's share of the budget and its ads. Names can use {{variables}}.

    Show 4 child fields
    • idadset_…
    • namestring
    • budgetSharenumber

      In percent.

    • adsobject[]
      Show 3 child fields
      • idad_…
      • creativesub_…
      • namestring
  • billingLimitnumbernullable

    The campaign stops spending at this amount, in cents.

  • creatorPayobject

    What creators earn, as their programs' pay set it when the campaign was saved.

    Show 6 child fields
    • modelenum
      ad_spendattributed_revenuelead
    • creatorSharenumbernullable

      The creator's share of spend or revenue, in percent.

    • feenumbernullable

      The total usage fee on spend or revenue, in percent.

    • leadAmountintegernullable

      What a creator earns per lead, in cents.

    • capintegernullable

      The most a creator earns from the campaign, in cents.

    • revenueEventstringnullable
  • platformsobject[]

    How each ad platform reports the campaign.

    Show 3 child fields
    • platformstring
    • statusstring
    • errorstringnullable
  • pendingChangeobjectnullable

    A change still settling: waiting for the brand's approval (PATCH `pendingChange: "approved"`), or running on the ad platforms.

    Show 2 child fields
    • actionstring
    • statusenum
      awaiting_approvalin_progress
  • partnerApprovalobjectnullable
    Show 4 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requested
    • notestringnullable
    • requestedAtstringnullable
    • reviewedAtstringnullable
  • createdByPartneracct_…nullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/campaigns
read

List campaigns

SDKlucra.campaigns.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • statusenum
    draftreadylivepausedneeds_attentionarchived
  • platformenum
    metatiktokgooglesnapchat
  • connectionconn_…
Response200A page of items, 27 fields each, and nextCursorShow
  • idcamp_…
  • namestring
  • statusenum
    draftreadylivepausedneeds_attentionarchived
  • objectiveenum
    conversionsawarenesstrafficengagementleadsapp_promotionsales
  • connectionconn_…nullable
  • platformstringnullable
  • destinationobject
    Show 2 child fields
    • typeenum
      websitemobile_appios_app_storegoogle_playdeep_link
    • valuestringnullable
  • budgetobject

    In cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • scheduleobject
    Show 2 child fields
    • startDatestring
    • endDatestringnullable
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMinnumbernullable
    • ageMaxnumbernullable
    • genderenumnullable
      allfemalemale
    • expandboolean
  • adobject
    Show 3 child fields
    • primaryTextstringnullable
    • callToActionenumnullable
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestringnullable
  • optimizationEventenumnullable
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsany
  • trackingany
  • identityenum
    brandcreator
  • creativessub_…[]
  • adSetsobject[]

    The campaign's ad sets as planned: each one's share of the budget and its ads. Names can use {{variables}}.

    Show 4 child fields
    • idadset_…
    • namestring
    • budgetSharenumber

      In percent.

    • adsobject[]
      Show 3 child fields
      • idad_…
      • creativesub_…
      • namestring
  • billingLimitnumbernullable

    The campaign stops spending at this amount, in cents.

  • creatorPayobject

    What creators earn, as their programs' pay set it when the campaign was saved.

    Show 6 child fields
    • modelenum
      ad_spendattributed_revenuelead
    • creatorSharenumbernullable

      The creator's share of spend or revenue, in percent.

    • feenumbernullable

      The total usage fee on spend or revenue, in percent.

    • leadAmountintegernullable

      What a creator earns per lead, in cents.

    • capintegernullable

      The most a creator earns from the campaign, in cents.

    • revenueEventstringnullable
  • platformsobject[]

    How each ad platform reports the campaign.

    Show 3 child fields
    • platformstring
    • statusstring
    • errorstringnullable
  • pendingChangeobjectnullable

    A change still settling: waiting for the brand's approval (PATCH `pendingChange: "approved"`), or running on the ad platforms.

    Show 2 child fields
    • actionstring
    • statusenum
      awaiting_approvalin_progress
  • partnerApprovalobjectnullable
    Show 4 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requested
    • notestringnullable
    • requestedAtstringnullable
    • reviewedAtstringnullable
  • createdByPartneracct_…nullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/campaigns/:id
read

Get a campaign

SDKlucra.campaigns.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20027 fieldsShow
  • idcamp_…
  • namestring
  • statusenum
    draftreadylivepausedneeds_attentionarchived
  • objectiveenum
    conversionsawarenesstrafficengagementleadsapp_promotionsales
  • connectionconn_…nullable
  • platformstringnullable
  • destinationobject
    Show 2 child fields
    • typeenum
      websitemobile_appios_app_storegoogle_playdeep_link
    • valuestringnullable
  • budgetobject

    In cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • scheduleobject
    Show 2 child fields
    • startDatestring
    • endDatestringnullable
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMinnumbernullable
    • ageMaxnumbernullable
    • genderenumnullable
      allfemalemale
    • expandboolean
  • adobject
    Show 3 child fields
    • primaryTextstringnullable
    • callToActionenumnullable
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestringnullable
  • optimizationEventenumnullable
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsany
  • trackingany
  • identityenum
    brandcreator
  • creativessub_…[]
  • adSetsobject[]

    The campaign's ad sets as planned: each one's share of the budget and its ads. Names can use {{variables}}.

    Show 4 child fields
    • idadset_…
    • namestring
    • budgetSharenumber

      In percent.

    • adsobject[]
      Show 3 child fields
      • idad_…
      • creativesub_…
      • namestring
  • billingLimitnumbernullable

    The campaign stops spending at this amount, in cents.

  • creatorPayobject

    What creators earn, as their programs' pay set it when the campaign was saved.

    Show 6 child fields
    • modelenum
      ad_spendattributed_revenuelead
    • creatorSharenumbernullable

      The creator's share of spend or revenue, in percent.

    • feenumbernullable

      The total usage fee on spend or revenue, in percent.

    • leadAmountintegernullable

      What a creator earns per lead, in cents.

    • capintegernullable

      The most a creator earns from the campaign, in cents.

    • revenueEventstringnullable
  • platformsobject[]

    How each ad platform reports the campaign.

    Show 3 child fields
    • platformstring
    • statusstring
    • errorstringnullable
  • pendingChangeobjectnullable

    A change still settling: waiting for the brand's approval (PATCH `pendingChange: "approved"`), or running on the ad platforms.

    Show 2 child fields
    • actionstring
    • statusenum
      awaiting_approvalin_progress
  • partnerApprovalobjectnullable
    Show 4 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requested
    • notestringnullable
    • requestedAtstringnullable
    • reviewedAtstringnullable
  • createdByPartneracct_…nullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/campaigns/:id
write

Change a campaign, its ad sets' budgets, or its status: launch, pause, resume, retry or archive

SDKlucra.campaigns.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring
  • objectiveenum

    conversions (default) optimizes for `optimizationEvent`; traffic (link clicks) and awareness (reach) run on Meta websites (beta).

    conversionstrafficawareness
  • destinationobject
    Show 2 child fields
    • typestringrequired
    • valuestring
  • budgetobject
  • billingLimitinteger

    Stop spending once the campaign has spent this much, in cents.

  • scheduleobject
    Show 2 child fields
    • startDatestringrequired
    • endDatestring
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMininteger
    • ageMaxinteger
    • genderenum
      allfemalemale
    • expandboolean

      Meta: let it reach people beyond this audience when it expects better results (Advantage+ audience).

  • creativessub_…[]
  • adSetsobject[]

    How the creatives are split into ad sets; by default one ad per creative, packed into as few ad sets as the platform allows.

    Show 4 child fields
    • idadset_…

      An `adset_` ID from the campaign's `adSets`, to keep that ad set across edits; omit to add one.

    • namestring
    • budgetSharenumber

      Its share of the campaign budget, in percent; shares add up to 100.

    • adsobject[]required
      Show 3 child fields
      • idad_…

        An `ad_` ID from the ad set's `ads`, to keep it.

      • creativesub_…required
      • namestring
  • adobject
    Show 3 child fields
    • primaryTextstringrequired
    • callToActionenumrequired
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestring
  • optimizationEventenum
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsobject
    Show 9 child fields
    • pixelstring

      Meta, TikTok or Snapchat pixel ID in that platform's own format.

    • conversionstring

      Meta custom conversion ID, or Google conversion action resource name.

    • conversionGoalstring

      Google custom conversion goal resource name.

    • revenueConversionstring

      Google conversion action that reports revenue, for revenue-share campaigns.

    • appstring

      Meta or TikTok registered app ID, for app store destinations.

    • logostring

      Google: square logo asset resource name and business name, for website destinations.

    • businessNamestring
    • targetCpainteger

      Google app campaigns: target cost per action in cents.

    • locationsstring[]

      TikTok location IDs.

  • trackingobject
    Show 4 child fields
    • urlParametersstring

      Added to every click's landing page: Meta's URL parameters, Google's final URL suffix, appended to TikTok's landing page.

    • trackingUrlTemplatestring

      Google: the tracking template clicks go through.

    • clickTrackingUrlstring

      TikTok: your measurement partner's click tracker.

    • impressionTrackingUrlstring

      TikTok: your measurement partner's impression tracker.

  • statusenum

    live publishes a ready campaign, resumes a paused one, or retries a launch that needs attention.

    pausedlivearchived
  • adSetBudgetsobject[]

    New budgets, in cents, for launched Meta or Snapchat ad sets, by their IDs from the campaign's `adSets` (GET /v1/campaigns/:id).

    Show 2 child fields
    • idadset_…required
    • budgetintegerrequired
  • pendingChangestring

    As the brand: approves the change a partner made, which `pendingChange` shows awaiting approval.

    approved
  • versioninteger
Response20027 fieldsShow
  • idcamp_…
  • namestring
  • statusenum
    draftreadylivepausedneeds_attentionarchived
  • objectiveenum
    conversionsawarenesstrafficengagementleadsapp_promotionsales
  • connectionconn_…nullable
  • platformstringnullable
  • destinationobject
    Show 2 child fields
    • typeenum
      websitemobile_appios_app_storegoogle_playdeep_link
    • valuestringnullable
  • budgetobject

    In cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • scheduleobject
    Show 2 child fields
    • startDatestring
    • endDatestringnullable
  • audienceobject
    Show 5 child fields
    • countriesenum[]
      USCAGBAUNZATBECZDKFIFRDEGRHUIEITNLNOPLPTROESSECHBRMXJPKRSGZASAAE
    • ageMinnumbernullable
    • ageMaxnumbernullable
    • genderenumnullable
      allfemalemale
    • expandboolean
  • adobject
    Show 3 child fields
    • primaryTextstringnullable
    • callToActionenumnullable
      book_nowcontact_usdownloadlearn_moreshop_nowsign_upsubscribe
    • headlinestringnullable
  • optimizationEventenumnullable
    installpurchasesubscriptiontrial_startinitiate_checkoutadd_to_cartview_contentcomplete_registrationleadcontact
  • settingsany
  • trackingany
  • identityenum
    brandcreator
  • creativessub_…[]
  • adSetsobject[]

    The campaign's ad sets as planned: each one's share of the budget and its ads. Names can use {{variables}}.

    Show 4 child fields
    • idadset_…
    • namestring
    • budgetSharenumber

      In percent.

    • adsobject[]
      Show 3 child fields
      • idad_…
      • creativesub_…
      • namestring
  • billingLimitnumbernullable

    The campaign stops spending at this amount, in cents.

  • creatorPayobject

    What creators earn, as their programs' pay set it when the campaign was saved.

    Show 6 child fields
    • modelenum
      ad_spendattributed_revenuelead
    • creatorSharenumbernullable

      The creator's share of spend or revenue, in percent.

    • feenumbernullable

      The total usage fee on spend or revenue, in percent.

    • leadAmountintegernullable

      What a creator earns per lead, in cents.

    • capintegernullable

      The most a creator earns from the campaign, in cents.

    • revenueEventstringnullable
  • platformsobject[]

    How each ad platform reports the campaign.

    Show 3 child fields
    • platformstring
    • statusstring
    • errorstringnullable
  • pendingChangeobjectnullable

    A change still settling: waiting for the brand's approval (PATCH `pendingChange: "approved"`), or running on the ad platforms.

    Show 2 child fields
    • actionstring
    • statusenum
      awaiting_approvalin_progress
  • partnerApprovalobjectnullable
    Show 4 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requested
    • notestringnullable
    • requestedAtstringnullable
    • reviewedAtstringnullable
  • createdByPartneracct_…nullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Ad fields

GET/v1/ad-fields
read

List the settings each ad platform takes for campaigns, ad sets and ads

SDKlucra.adFields.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • platformenum

    Also returns the universal settings unless `universal`.

    metatiktokgooglesnapchatuniversal
  • resourceenum
    campaignad_setadcreative
  • statusenum
    implementedplannedprovider_gatedread_onlydeprecated

Ad defaults

GET/v1/ad-defaults
read

Get what the account's new campaigns start with

SDKlucra.adDefaults.retrieve()
PATCH/v1/ad-defaults
write

Change what the account's new campaigns start with

SDKlucra.adDefaults.update({ body })

Body

  • objectiveenumnullable
    conversionstrafficawareness
  • audienceExpansionbooleannullable
  • namingobject
    Show 2 child fields
    • adSetstringnullable
    • adstringnullable
  • trackingobjectnullable
    Show 4 child fields
    • urlParametersstring

      Added to every click's landing page: Meta's URL parameters, Google's final URL suffix, appended to TikTok's landing page.

    • trackingUrlTemplatestring

      Google: the tracking template clicks go through.

    • clickTrackingUrlstring

      TikTok: your measurement partner's click tracker.

    • impressionTrackingUrlstring

      TikTok: your measurement partner's impression tracker.

Ad audiences

GET/v1/ad-audiences
read

List an ad account's saved audiences (Meta custom and lookalike audiences, TikTok audiences)

SDKlucra.adAudiences.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • connectionconn_…required

    A Meta or TikTok ad account `conn_` from GET /v1/connections.

Ad interests

GET/v1/ad-interests
read

Search the interests an ad set can target on Meta or TikTok

SDKlucra.adInterests.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • connectionconn_…required

    A Meta or TikTok ad account `conn_` from GET /v1/connections.

  • qstringrequired

    What to search for, e.g. running.

Ad sets

GET/v1/ad-sets
read

List ad sets (Meta ad sets, TikTok and Google ad groups, Snapchat ad squads)

SDKlucra.adSets.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • campaigncamp_…
  • platformenum
    metatiktokgooglesnapchat
  • statusenum
    draftactivepausedarchiveddeletedunknown
GET/v1/ad-sets/:id
read

Get an ad set

SDKlucra.adSets.retrieve({ path: { id } })

Path parameters

  • idstringrequired
PATCH/v1/ad-sets/:id
write

Rename, pause, resume, archive or re-budget an ad set on its platform

SDKlucra.adSets.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring
  • statusenum

    active resumes it, paused pauses it, archived stops and archives it.

    activepausedarchived
  • budgetobject

    In cents. Meta ad sets only: TikTok and Google budgets live on the campaign.

  • biddingany

    Meta and TikTok ad sets (beta).

  • audienceany

    Meta and TikTok ad sets (beta).

POST/v1/ad-sets/:id/copies
write

Copy an ad set (and run it paused) in its campaign or another one

SDKlucra.adSets.copies.create({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring

    Defaults to the source's name with " (copy)".

  • intocamp_…

    Another launched campaign on the same ad account; defaults to the source's own.

Response2021 fieldsShow
  • idstring

    The copy's ID; it reads back from GET once the platform confirms it.

Ads

GET/v1/ads
read

List ads

SDKlucra.ads.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • campaigncamp_…
  • platformenum
    metatiktokgooglesnapchat
  • statusenum
    draftactivepausedarchiveddeletedunknown
  • adSetadset_…
GET/v1/ads/:id
read

Get an ad

SDKlucra.ads.retrieve({ path: { id } })

Path parameters

  • idstringrequired
PATCH/v1/ads/:id
write

Rename, pause, resume or archive an ad on its platform

SDKlucra.ads.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring
  • statusenum

    active resumes it, paused pauses it, archived stops and archives it.

    activepausedarchived
POST/v1/ads/:id/copies
write

Copy an ad (and run it paused) in its ad set or another one

SDKlucra.ads.copies.create({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring

    Defaults to the source's name with " (copy)".

  • intoadset_…

    Another launched ad set on the same ad account; defaults to the source's own.

Response2021 fieldsShow
  • idstring

    The copy's ID; it reads back from GET once the platform confirms it.

Connections

GET/v1/connections/:id
As creatorread

Get a connection

SDKlucra.connections.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20012 fieldsShow
  • idconn_…
  • providerenum

    The platform connected.

    metatiktokgooglesnapchatshopifyinstagram
  • statusstring

    The platform connection's state, e.g. connected, active, expired; a shop is connected or reconnect_required.

  • namestringnullable

    The ad account, the shop domain, or the creator's handle.

  • handlestringnullable

    A creator's handle on the platform; null for a brand's connections.

  • avatarUrlstringnullable

    A short-lived link to a creator account's profile photo.

  • lastSyncedAtstringnullable
  • errorstringnullable

    Why a creator account's last sync failed, e.g. token_expired.

  • activeCampaignsinteger

    Live campaigns (or ones needing attention) on an ad platform connection. Campaigns only; `canDisconnect` covers every reason a disconnect is refused.

  • canDisconnectboolean

    Whether a disconnect would be accepted now: you manage the account's connections (or it's your own creator account), and no campaign, ad operation or ad plan is active on it.

  • createdAtstring
  • updatedAtstring
GET/v1/connections/:id/setup
read

List an ad platform's accounts, pages and identities to pick from, and the ones picked

SDKlucra.connections.setup.retrieve({ path: { id }, query })

Path parameters

  • idstringrequired

Query parameters

  • adAccountIdstring

    The ad account campaigns run in (Meta, Google, Snapchat).

  • advertiserIdstring

    TikTok's advertiser account.

  • businessCenterIdstring

    TikTok's business center; send it to list the advertisers under it.

  • businessIdstring

    Meta's business; send it to list the ad accounts and pages under it.

  • identityIdstring

    The TikTok identity ads post as.

  • organizationIdstring

    Snapchat's organization; send it to list its ad accounts.

  • pageIdstring

    The Facebook page Meta ads post as.

  • profileIdstring

    Snapchat's public profile ads post as.

GET/v1/connections
As creatorread

List connected ad platforms, Shopify and creator social accounts

SDKlucra.connections.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 12 fields each, and nextCursorShow
  • idconn_…
  • providerenum

    The platform connected.

    metatiktokgooglesnapchatshopifyinstagram
  • statusstring

    The platform connection's state, e.g. connected, active, expired; a shop is connected or reconnect_required.

  • namestringnullable

    The ad account, the shop domain, or the creator's handle.

  • handlestringnullable

    A creator's handle on the platform; null for a brand's connections.

  • avatarUrlstringnullable

    A short-lived link to a creator account's profile photo.

  • lastSyncedAtstringnullable
  • errorstringnullable

    Why a creator account's last sync failed, e.g. token_expired.

  • activeCampaignsinteger

    Live campaigns (or ones needing attention) on an ad platform connection. Campaigns only; `canDisconnect` covers every reason a disconnect is refused.

  • canDisconnectboolean

    Whether a disconnect would be accepted now: you manage the account's connections (or it's your own creator account), and no campaign, ad operation or ad plan is active on it.

  • createdAtstring
  • updatedAtstring
POST/v1/connections/:id/syncs
As creatorwrite

Sync a connected shop's catalog, or, as a creator, mirror a social account's posts now

SDKlucra.connections.syncs.create({ path: { id } })

Path parameters

  • idstringrequired
POST/v1/connections
As creatorwrite

Connect a platform, payouts or a card: returns the hosted page to send the person to

SDKlucra.connections.create({ body })

Body

  • providerenumrequired

    A brand connects meta, google, snapchat, tiktok or shopify; a creator (`Lucra-Account: crtr_…`) instagram or tiktok. stripe sets up payouts on Stripe (identity and bank until verified, then managing them), for a creator or the account itself; card adds or manages the card Lucra charges a brand.

    metagooglesnapchattiktokinstagramshopifystripecard
  • shopstring

    With shopify: the store's domain, like acme.myshopify.com.

  • countryenum

    With stripe, for a creator: their payout country, required the first time.

    ATBEBGCAHRCYCZDKEEFIFRDEGRHUISIEITLVLILTLUMTNLNOPLPTROSKSIESSECHGBUS
  • returnUrlstring

    Where the person comes back to, with `status=connected` or `status=error` added: your own https page (its origin must be on the key's embed origins), a page of the Lucra app (a path), or `lucra-creators:` for the Lucra iOS app. Defaults to a hosted done page (for stripe and card, the matching settings page).

  • checkoutenum

    With card: hosted (the default) returns Stripe's page at `url` (its billing portal once a card is saved); elements returns `clientSecret` to save a new card in your own form with Stripe's Payment Element (Checkout elements, setup mode), which then replaces the card charged.

    hostedelements
Response2013 fieldsShow
  • urlstringnullable

    Send the person here: they finish on the platform or Stripe, never on Lucra. The connection.connected (or creator.payouts_updated) webhook, or GET /v1/connections, shows the result. Null with `checkout: elements`.

  • clientSecretstringnullable

    With card and `checkout: elements`: the Checkout Session's client secret for Stripe's Payment Element (`initCheckoutElementsSdk`); null otherwise. Stripe's setup webhook saves the card.

  • expiresAtstringnullable

    When the page stops working; null when it doesn't expire.

PATCH/v1/connections/:id
As creatorwrite

Pick a brand's ad account, page and identity after signing in, or disconnect a connection

SDKlucra.connections.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusstring

    Disconnects it: Lucra forgets the platform's tokens. An ad platform with live campaigns (see canDisconnect) is refused.

    disconnected
  • selectionobject

    A brand's ad platform picks, from GET /v1/connections/:id/setup: send the IDs it lists (e.g. adAccountId and pageId) to save them.

    Show 8 child fields
    • adAccountIdstring

      The ad account campaigns run in (Meta, Google, Snapchat).

    • advertiserIdstring

      TikTok's advertiser account.

    • businessCenterIdstring

      TikTok's business center; send it to list the advertisers under it.

    • businessIdstring

      Meta's business; send it to list the ad accounts and pages under it.

    • identityIdstring

      The TikTok identity ads post as.

    • organizationIdstring

      Snapchat's organization; send it to list its ad accounts.

    • pageIdstring

      The Facebook page Meta ads post as.

    • profileIdstring

      Snapchat's public profile ads post as.

Response20012 fieldsShow
  • idconn_…
  • providerenum

    The platform connected.

    metatiktokgooglesnapchatshopifyinstagram
  • statusstring

    The platform connection's state, e.g. connected, active, expired; a shop is connected or reconnect_required.

  • namestringnullable

    The ad account, the shop domain, or the creator's handle.

  • handlestringnullable

    A creator's handle on the platform; null for a brand's connections.

  • avatarUrlstringnullable

    A short-lived link to a creator account's profile photo.

  • lastSyncedAtstringnullable
  • errorstringnullable

    Why a creator account's last sync failed, e.g. token_expired.

  • activeCampaignsinteger

    Live campaigns (or ones needing attention) on an ad platform connection. Campaigns only; `canDisconnect` covers every reason a disconnect is refused.

  • canDisconnectboolean

    Whether a disconnect would be accepted now: you manage the account's connections (or it's your own creator account), and no campaign, ad operation or ad plan is active on it.

  • createdAtstring
  • updatedAtstring
GET/v1/connections/:id/posts
As creatorread

List the posts Lucra mirrors from a creator's connected account, newest first

SDKlucra.connections.posts.list({ path: { id } })

Path parameters

  • idstringrequired
Response200A page of items, 12 fields each, and nextCursorShow
  • idstring

    The post's ID on its platform.

  • platformenum
    instagramtiktok
  • urlstringnullable
  • titlestringnullable
  • captionstringnullable
  • publishedAtstringnullable
  • durationLabelstringnullable
  • durationSecondsnumbernullable
  • thumbnailUrlstringnullable
  • videoUrlstringnullable
  • thumbnailImageobjectnullable
    Show 5 child fields
    • fileIdstringnullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • metricsobjectnullable
    Show 6 child fields
    • viewsnumber
    • likesnumbernullable
    • commentsnumbernullable
    • sharesnumbernullable
    • savesnumbernullable
    • engagementsnumbernullable

Creators

GET/v1/creators
read

List the account's creators and, for a partner, its roster

SDKlucra.creators.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • qstring

    Matches the name, email or a handle.

  • statusstring

    One or more of invited, live, paused, review, removed; removed creators are left out unless asked for.

  • programprog_…

    Only creators approved into this program.

  • relationshipenum
    directrepresented
  • visibilityenum
    privatenetwork
Response200A page of items, 31 fields each, and nextCursorShow
  • idcrtr_…
  • namestring
  • handlestringnullable
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The creator's picture, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • biostringnullable
  • locationstringnullable
  • platformHandlesobject

    Handles by platform, e.g. { tiktok: "@sam" }.

  • tagsstring[]
  • notesstringnullable
  • statusenumnullable

    The creator's status with this account; null on a marketplace listing of a creator not in it.

    invitedlivepausedreviewremoved
  • relationshipenumnullable

    direct: in this account; represented: on a partner's roster; null on a marketplace listing of a creator not in it.

    directrepresented
  • managedByacct_…nullable
  • visibilityenum

    private: hidden from brands' discovery; network: brands can find them.

    privatenetwork
  • chatAvailableboolean
  • programsprog_…[]

    Programs the creator is approved into in this account.

  • brandsacct_…[]

    A partner's roster creator: the client brands they work with through the partner.

  • retainerobjectnullable

    The creator's open retainer with this account and its terms; GET /v1/retainers/:id has the rest.

    Show 8 child fields
    • idret_…
    • statusenum
      offeredacceptedactivecanceling
    • payobject
      Show 5 child fields
      • rulesobject[]
      • baseinteger

        Guaranteed each period, in cents.

      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
      • approvalenum

        automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

        automaticmanual
    • summarystring

      The pay in plain English.

    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • deliverablesstringnullable
    • notesstringnullable
    • currentPeriodEndAtstringnullable
  • payoutsobjectnullable

    Where the creator is paid. To finish setup, send the creator to the URL from POST /v1/connections with provider: "stripe"; creator.payouts_updated fires when it changes. Null on a marketplace listing.

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • statsobject
    Show 4 child fields
    • approvedVideosinteger
    • pendingVideosinteger
    • approvalRatenumber

      Percent of reviewed submissions approved.

    • installsinteger
  • trustobject
    Show 1 child field
    • scorenumber
  • performanceobjectnullable

    Daily ad results of the creator's work and submissions approved each day, for this account; null outside its own creators.

    Show 2 child fields
    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • daysobject[]
      Show 7 child fields
      • datestring
      • spendinteger
      • revenueinteger
      • clicksinteger
      • impressionsinteger
      • purchasesinteger
      • approvedSubmissionsinteger
  • referenceVideosobject[]

    Posts the creator shows brands, newest choice first.

    Show 10 child fields
    • platformenum
      instagramtiktokupload
    • poststring

      The post's ID on its platform; for an `upload`, the uploaded video's `file_…`.

    • filefile_…nullable
    • urlstringnullable
    • titlestringnullable
    • publishedAtstringnullable
    • durationLabelstringnullable
    • thumbnailUrlstringnullable
    • thumbnailImageobjectnullable
      Show 5 child fields
      • fileIdfile_…nullable
      • urlstring
      • widthnumbernullable
      • heightnumbernullable
      • blurHashstringnullable
    • videoUrlstringnullable
  • claimobjectnullable

    A partner's roster creator: whether they've claimed the account Lucra made for them. They claim it by signing in to Lucra with that email, verified.

    Show 1 child field
    • statusenum
      invitedclaimed
  • listingobject

    A marketplace listing's fields; only on GET /v1/marketplace/creators.

    Show 13 child fields
    • headlinestringnullable
    • specialtystringnullable
    • agenumbernullable
    • genderstringnullable
    • categoriesstring[]
    • creativeStylesstring[]
    • interestsstring[]
    • requestStatusenumnullable

      Your account's latest connection request to them.

      pendingaccepteddeclined
    • trustobjectnullable
      Show 5 child fields
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • calculatedAtstringnullable
    • audiencestringnullable
    • lastActivestringnullable
    • responseTimestringnullable
    • submissionsobject[]

      Work the creator submitted on Lucra; on one creator's read.

      Show 10 child fields
      • idsub_…
      • programNamestringnullable
      • platformenumnullable
        instagramtiktok
      • statusenum
        approvedliverejectedreviewrevision
      • submittedAtstringnullable
      • durationstringnullable
      • formatstringnullable
      • thumbnailUrlstringnullable
      • videoUrlstringnullable
      • thumbnailImageobjectnullable
        Show 5 child fields
        • fileIdfile_…nullable
        • urlstring
        • widthnumbernullable
        • heightnumbernullable
        • blurHashstringnullable
  • profileobject

    Only when a creator reads themselves.

    Show 9 child fields
    • birthDatestringnullable
    • genderstringnullable
    • interestsstring[]
    • creativeStylesstring[]
    • locationDetailsobjectnullable
      Show 9 child fields
      • citystring
      • countryCodestring
      • countryNamestring
      • displayNamestring
      • geonamesIdstring
      • latitudenumber
      • longitudenumber
      • regionCodestring
      • regionNamestring
    • onboardingCompletedAtstringnullable
    • hiddenFromacct_…[]

      Partners that hide this creator from their Discover.

    • trustobject
      Show 7 child fields
      • scorenumber
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • nextActionstring
      • calculatedAtstringnullable
    • partnerFeeobjectnullable

      The share of the creator's pay the partner representing them (`managedBy`) takes, if any.

      Show 2 child fields
      • partneracct_…
      • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/creators/:id
As creatorread

Get one of the account's creators, or, as a creator, yourself

SDKlucra.creators.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20031 fieldsShow
  • idcrtr_…
  • namestring
  • handlestringnullable
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The creator's picture, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • biostringnullable
  • locationstringnullable
  • platformHandlesobject

    Handles by platform, e.g. { tiktok: "@sam" }.

  • tagsstring[]
  • notesstringnullable
  • statusenumnullable

    The creator's status with this account; null on a marketplace listing of a creator not in it.

    invitedlivepausedreviewremoved
  • relationshipenumnullable

    direct: in this account; represented: on a partner's roster; null on a marketplace listing of a creator not in it.

    directrepresented
  • managedByacct_…nullable
  • visibilityenum

    private: hidden from brands' discovery; network: brands can find them.

    privatenetwork
  • chatAvailableboolean
  • programsprog_…[]

    Programs the creator is approved into in this account.

  • brandsacct_…[]

    A partner's roster creator: the client brands they work with through the partner.

  • retainerobjectnullable

    The creator's open retainer with this account and its terms; GET /v1/retainers/:id has the rest.

    Show 8 child fields
    • idret_…
    • statusenum
      offeredacceptedactivecanceling
    • payobject
      Show 5 child fields
      • rulesobject[]
      • baseinteger

        Guaranteed each period, in cents.

      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
      • approvalenum

        automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

        automaticmanual
    • summarystring

      The pay in plain English.

    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • deliverablesstringnullable
    • notesstringnullable
    • currentPeriodEndAtstringnullable
  • payoutsobjectnullable

    Where the creator is paid. To finish setup, send the creator to the URL from POST /v1/connections with provider: "stripe"; creator.payouts_updated fires when it changes. Null on a marketplace listing.

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • statsobject
    Show 4 child fields
    • approvedVideosinteger
    • pendingVideosinteger
    • approvalRatenumber

      Percent of reviewed submissions approved.

    • installsinteger
  • trustobject
    Show 1 child field
    • scorenumber
  • performanceobjectnullable

    Daily ad results of the creator's work and submissions approved each day, for this account; null outside its own creators.

    Show 2 child fields
    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • daysobject[]
      Show 7 child fields
      • datestring
      • spendinteger
      • revenueinteger
      • clicksinteger
      • impressionsinteger
      • purchasesinteger
      • approvedSubmissionsinteger
  • referenceVideosobject[]

    Posts the creator shows brands, newest choice first.

    Show 10 child fields
    • platformenum
      instagramtiktokupload
    • poststring

      The post's ID on its platform; for an `upload`, the uploaded video's `file_…`.

    • filefile_…nullable
    • urlstringnullable
    • titlestringnullable
    • publishedAtstringnullable
    • durationLabelstringnullable
    • thumbnailUrlstringnullable
    • thumbnailImageobjectnullable
      Show 5 child fields
      • fileIdfile_…nullable
      • urlstring
      • widthnumbernullable
      • heightnumbernullable
      • blurHashstringnullable
    • videoUrlstringnullable
  • claimobjectnullable

    A partner's roster creator: whether they've claimed the account Lucra made for them. They claim it by signing in to Lucra with that email, verified.

    Show 1 child field
    • statusenum
      invitedclaimed
  • listingobject

    A marketplace listing's fields; only on GET /v1/marketplace/creators.

    Show 13 child fields
    • headlinestringnullable
    • specialtystringnullable
    • agenumbernullable
    • genderstringnullable
    • categoriesstring[]
    • creativeStylesstring[]
    • interestsstring[]
    • requestStatusenumnullable

      Your account's latest connection request to them.

      pendingaccepteddeclined
    • trustobjectnullable
      Show 5 child fields
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • calculatedAtstringnullable
    • audiencestringnullable
    • lastActivestringnullable
    • responseTimestringnullable
    • submissionsobject[]

      Work the creator submitted on Lucra; on one creator's read.

      Show 10 child fields
      • idsub_…
      • programNamestringnullable
      • platformenumnullable
        instagramtiktok
      • statusenum
        approvedliverejectedreviewrevision
      • submittedAtstringnullable
      • durationstringnullable
      • formatstringnullable
      • thumbnailUrlstringnullable
      • videoUrlstringnullable
      • thumbnailImageobjectnullable
        Show 5 child fields
        • fileIdfile_…nullable
        • urlstring
        • widthnumbernullable
        • heightnumbernullable
        • blurHashstringnullable
  • profileobject

    Only when a creator reads themselves.

    Show 9 child fields
    • birthDatestringnullable
    • genderstringnullable
    • interestsstring[]
    • creativeStylesstring[]
    • locationDetailsobjectnullable
      Show 9 child fields
      • citystring
      • countryCodestring
      • countryNamestring
      • displayNamestring
      • geonamesIdstring
      • latitudenumber
      • longitudenumber
      • regionCodestring
      • regionNamestring
    • onboardingCompletedAtstringnullable
    • hiddenFromacct_…[]

      Partners that hide this creator from their Discover.

    • trustobject
      Show 7 child fields
      • scorenumber
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • nextActionstring
      • calculatedAtstringnullable
    • partnerFeeobjectnullable

      The share of the creator's pay the partner representing them (`managedBy`) takes, if any.

      Show 2 child fields
      • partneracct_…
      • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/creators
write

Add a creator to a partner's roster; one already on it is returned with 200

SDKlucra.creators.create({ body })

Body

  • emailstringrequired
  • namestring
  • phonestring
  • visibilityenum
    privatenetwork
Response20131 fieldsShow
  • idcrtr_…
  • namestring
  • handlestringnullable
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The creator's picture, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • biostringnullable
  • locationstringnullable
  • platformHandlesobject

    Handles by platform, e.g. { tiktok: "@sam" }.

  • tagsstring[]
  • notesstringnullable
  • statusenumnullable

    The creator's status with this account; null on a marketplace listing of a creator not in it.

    invitedlivepausedreviewremoved
  • relationshipenumnullable

    direct: in this account; represented: on a partner's roster; null on a marketplace listing of a creator not in it.

    directrepresented
  • managedByacct_…nullable
  • visibilityenum

    private: hidden from brands' discovery; network: brands can find them.

    privatenetwork
  • chatAvailableboolean
  • programsprog_…[]

    Programs the creator is approved into in this account.

  • brandsacct_…[]

    A partner's roster creator: the client brands they work with through the partner.

  • retainerobjectnullable

    The creator's open retainer with this account and its terms; GET /v1/retainers/:id has the rest.

    Show 8 child fields
    • idret_…
    • statusenum
      offeredacceptedactivecanceling
    • payobject
      Show 5 child fields
      • rulesobject[]
      • baseinteger

        Guaranteed each period, in cents.

      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
      • approvalenum

        automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

        automaticmanual
    • summarystring

      The pay in plain English.

    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • deliverablesstringnullable
    • notesstringnullable
    • currentPeriodEndAtstringnullable
  • payoutsobjectnullable

    Where the creator is paid. To finish setup, send the creator to the URL from POST /v1/connections with provider: "stripe"; creator.payouts_updated fires when it changes. Null on a marketplace listing.

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • statsobject
    Show 4 child fields
    • approvedVideosinteger
    • pendingVideosinteger
    • approvalRatenumber

      Percent of reviewed submissions approved.

    • installsinteger
  • trustobject
    Show 1 child field
    • scorenumber
  • performanceobjectnullable

    Daily ad results of the creator's work and submissions approved each day, for this account; null outside its own creators.

    Show 2 child fields
    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • daysobject[]
      Show 7 child fields
      • datestring
      • spendinteger
      • revenueinteger
      • clicksinteger
      • impressionsinteger
      • purchasesinteger
      • approvedSubmissionsinteger
  • referenceVideosobject[]

    Posts the creator shows brands, newest choice first.

    Show 10 child fields
    • platformenum
      instagramtiktokupload
    • poststring

      The post's ID on its platform; for an `upload`, the uploaded video's `file_…`.

    • filefile_…nullable
    • urlstringnullable
    • titlestringnullable
    • publishedAtstringnullable
    • durationLabelstringnullable
    • thumbnailUrlstringnullable
    • thumbnailImageobjectnullable
      Show 5 child fields
      • fileIdfile_…nullable
      • urlstring
      • widthnumbernullable
      • heightnumbernullable
      • blurHashstringnullable
    • videoUrlstringnullable
  • claimobjectnullable

    A partner's roster creator: whether they've claimed the account Lucra made for them. They claim it by signing in to Lucra with that email, verified.

    Show 1 child field
    • statusenum
      invitedclaimed
  • listingobject

    A marketplace listing's fields; only on GET /v1/marketplace/creators.

    Show 13 child fields
    • headlinestringnullable
    • specialtystringnullable
    • agenumbernullable
    • genderstringnullable
    • categoriesstring[]
    • creativeStylesstring[]
    • interestsstring[]
    • requestStatusenumnullable

      Your account's latest connection request to them.

      pendingaccepteddeclined
    • trustobjectnullable
      Show 5 child fields
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • calculatedAtstringnullable
    • audiencestringnullable
    • lastActivestringnullable
    • responseTimestringnullable
    • submissionsobject[]

      Work the creator submitted on Lucra; on one creator's read.

      Show 10 child fields
      • idsub_…
      • programNamestringnullable
      • platformenumnullable
        instagramtiktok
      • statusenum
        approvedliverejectedreviewrevision
      • submittedAtstringnullable
      • durationstringnullable
      • formatstringnullable
      • thumbnailUrlstringnullable
      • videoUrlstringnullable
      • thumbnailImageobjectnullable
        Show 5 child fields
        • fileIdfile_…nullable
        • urlstring
        • widthnumbernullable
        • heightnumbernullable
        • blurHashstringnullable
  • profileobject

    Only when a creator reads themselves.

    Show 9 child fields
    • birthDatestringnullable
    • genderstringnullable
    • interestsstring[]
    • creativeStylesstring[]
    • locationDetailsobjectnullable
      Show 9 child fields
      • citystring
      • countryCodestring
      • countryNamestring
      • displayNamestring
      • geonamesIdstring
      • latitudenumber
      • longitudenumber
      • regionCodestring
      • regionNamestring
    • onboardingCompletedAtstringnullable
    • hiddenFromacct_…[]

      Partners that hide this creator from their Discover.

    • trustobject
      Show 7 child fields
      • scorenumber
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • nextActionstring
      • calculatedAtstringnullable
    • partnerFeeobjectnullable

      The share of the creator's pay the partner representing them (`managedBy`) takes, if any.

      Show 2 child fields
      • partneracct_…
      • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/creators/:id
As creatorwrite

Update a creator: a brand's labels and status, a partner's roster creator, or, as a creator, your own profile

SDKlucra.creators.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • visibilityenum
    privatenetwork
  • profilePicturefile_…nullable
  • tagsstring[]
  • notesstringnullable
  • statusenum
    livepausedremoved
  • brandsacct_…[]

    A partner's roster creator works with exactly these client brands; brands left out stop working with them.

  • biostring
  • birthDatestringnullable
  • creativeStylesenum[]
    product_demotestimonial_reviewtalking_headvoiceover_brolllifestyle_routineunboxingscreen_recordingcomedy_skit
  • emailstring
  • genderenumnullable
    womanmannonbinaryself_describeundisclosed
  • handlestring

    Your @handle, unique on Lucra: 1–30 letters, numbers, periods, underscores or hyphens. A leading @ is dropped and it is saved lowercase.

  • interestsenum[]
    fitnessbeautyfashionfood_drinktech_gamingtravelhome_diyparentingfinancewellnesspetscomedyeducationoutdoorsfitness_gymfitness_runningfitness_yogafitness_sportsbeauty_makeupbeauty_skincarebeauty_hairbeauty_nailsfashion_streetwearfashion_luxuryfashion_thriftfashion_menswearfood_drink_cookingfood_drink_bakingfood_drink_restaurantsfood_drink_coffeetech_gaming_gamingtech_gaming_gadgetstech_gaming_appstech_gaming_aitravel_budgettravel_luxurytravel_citytravel_adventurehome_diy_renovationhome_diy_decorhome_diy_gardeninghome_diy_organizationparenting_pregnancyparenting_babiesparenting_school_ageparenting_teensfinance_investingfinance_budgetingfinance_side_hustlesfinance_cryptowellness_mental_healthwellness_meditationwellness_nutritionwellness_sleeppets_dogspets_catspets_exoticpets_trainingcomedy_skitscomedy_prankscomedy_memescomedy_standupeducation_studyeducation_languageseducation_scienceeducation_historyoutdoors_campingoutdoors_hikingoutdoors_fishingoutdoors_climbing
  • locationstring
  • locationDetailsobjectnullable
    Show 9 child fields
    • citystringrequired
    • countryCodestringrequired
    • countryNamestringrequired
    • displayNamestringrequired
    • geonamesIdstring
    • latitudenumber
    • longitudenumber
    • regionCodestring
    • regionNamestring
  • namestring
  • platformHandlesobject
    Show 2 child fields
    • instagramstring
    • tiktokstring
  • referenceVideoSelectionsobject[]
    Show 10 child fields
    • durationLabelstring
    • mediaAssetIdstring
    • platformenumrequired
      instagramtiktokupload
    • publishedAtstring
    • sourceContentIdstringrequired
    • sourceUrlstring
    • thumbnailImageobjectnullable
      Show 5 child fields
      • fileIdstringrequired
      • urlstring
      • widthintegernullable
      • heightintegernullable
      • blurHashstringnullable
    • thumbnailUrlstring
    • titlestring
    • videoUrlstring
  • referenceVideosstring[]
  • pictureFromenum

    Use this connected account's profile photo as the creator's picture.

    instagramtiktok
  • versioninteger
Response20031 fieldsShow
  • idcrtr_…
  • namestring
  • handlestringnullable
  • emailstringnullable
  • phonestringnullable
  • profilePicturefile_…nullable
  • imageobjectnullable

    The creator's picture, with a short-lived `url`.

    Show 5 child fields
    • fileIdfile_…nullable
    • urlstring
    • widthnumbernullable
    • heightnumbernullable
    • blurHashstringnullable
  • biostringnullable
  • locationstringnullable
  • platformHandlesobject

    Handles by platform, e.g. { tiktok: "@sam" }.

  • tagsstring[]
  • notesstringnullable
  • statusenumnullable

    The creator's status with this account; null on a marketplace listing of a creator not in it.

    invitedlivepausedreviewremoved
  • relationshipenumnullable

    direct: in this account; represented: on a partner's roster; null on a marketplace listing of a creator not in it.

    directrepresented
  • managedByacct_…nullable
  • visibilityenum

    private: hidden from brands' discovery; network: brands can find them.

    privatenetwork
  • chatAvailableboolean
  • programsprog_…[]

    Programs the creator is approved into in this account.

  • brandsacct_…[]

    A partner's roster creator: the client brands they work with through the partner.

  • retainerobjectnullable

    The creator's open retainer with this account and its terms; GET /v1/retainers/:id has the rest.

    Show 8 child fields
    • idret_…
    • statusenum
      offeredacceptedactivecanceling
    • payobject
      Show 5 child fields
      • rulesobject[]
      • baseinteger

        Guaranteed each period, in cents.

      • capintegernullable

        The most one creator is paid per period, in cents; null or left out for no cap.

      • scheduleobject
      • approvalenum

        automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

        automaticmanual
    • summarystring

      The pay in plain English.

    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • deliverablesstringnullable
    • notesstringnullable
    • currentPeriodEndAtstringnullable
  • payoutsobjectnullable

    Where the creator is paid. To finish setup, send the creator to the URL from POST /v1/connections with provider: "stripe"; creator.payouts_updated fires when it changes. Null on a marketplace listing.

    Show 2 child fields
    • identityobject
      Show 1 child field
      • statusenum
        requiredpendingverified
    • bankAccountobjectnullable
      Show 1 child field
      • statusenum
        missingadded
  • statsobject
    Show 4 child fields
    • approvedVideosinteger
    • pendingVideosinteger
    • approvalRatenumber

      Percent of reviewed submissions approved.

    • installsinteger
  • trustobject
    Show 1 child field
    • scorenumber
  • performanceobjectnullable

    Daily ad results of the creator's work and submissions approved each day, for this account; null outside its own creators.

    Show 2 child fields
    • currencystring

      Lowercase ISO 4217 code, e.g. usd.

    • daysobject[]
      Show 7 child fields
      • datestring
      • spendinteger
      • revenueinteger
      • clicksinteger
      • impressionsinteger
      • purchasesinteger
      • approvedSubmissionsinteger
  • referenceVideosobject[]

    Posts the creator shows brands, newest choice first.

    Show 10 child fields
    • platformenum
      instagramtiktokupload
    • poststring

      The post's ID on its platform; for an `upload`, the uploaded video's `file_…`.

    • filefile_…nullable
    • urlstringnullable
    • titlestringnullable
    • publishedAtstringnullable
    • durationLabelstringnullable
    • thumbnailUrlstringnullable
    • thumbnailImageobjectnullable
      Show 5 child fields
      • fileIdfile_…nullable
      • urlstring
      • widthnumbernullable
      • heightnumbernullable
      • blurHashstringnullable
    • videoUrlstringnullable
  • claimobjectnullable

    A partner's roster creator: whether they've claimed the account Lucra made for them. They claim it by signing in to Lucra with that email, verified.

    Show 1 child field
    • statusenum
      invitedclaimed
  • listingobject

    A marketplace listing's fields; only on GET /v1/marketplace/creators.

    Show 13 child fields
    • headlinestringnullable
    • specialtystringnullable
    • agenumbernullable
    • genderstringnullable
    • categoriesstring[]
    • creativeStylesstring[]
    • interestsstring[]
    • requestStatusenumnullable

      Your account's latest connection request to them.

      pendingaccepteddeclined
    • trustobjectnullable
      Show 5 child fields
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • calculatedAtstringnullable
    • audiencestringnullable
    • lastActivestringnullable
    • responseTimestringnullable
    • submissionsobject[]

      Work the creator submitted on Lucra; on one creator's read.

      Show 10 child fields
      • idsub_…
      • programNamestringnullable
      • platformenumnullable
        instagramtiktok
      • statusenum
        approvedliverejectedreviewrevision
      • submittedAtstringnullable
      • durationstringnullable
      • formatstringnullable
      • thumbnailUrlstringnullable
      • videoUrlstringnullable
      • thumbnailImageobjectnullable
        Show 5 child fields
        • fileIdfile_…nullable
        • urlstring
        • widthnumbernullable
        • heightnumbernullable
        • blurHashstringnullable
  • profileobject

    Only when a creator reads themselves.

    Show 9 child fields
    • birthDatestringnullable
    • genderstringnullable
    • interestsstring[]
    • creativeStylesstring[]
    • locationDetailsobjectnullable
      Show 9 child fields
      • citystring
      • countryCodestring
      • countryNamestring
      • displayNamestring
      • geonamesIdstring
      • latitudenumber
      • longitudenumber
      • regionCodestring
      • regionNamestring
    • onboardingCompletedAtstringnullable
    • hiddenFromacct_…[]

      Partners that hide this creator from their Discover.

    • trustobject
      Show 7 child fields
      • scorenumber
      • approvalQualitynumber
      • brandReliabilitynumber
      • deliveryReliabilitynumber
      • paidPerformancenumber
      • nextActionstring
      • calculatedAtstringnullable
    • partnerFeeobjectnullable

      The share of the creator's pay the partner representing them (`managedBy`) takes, if any.

      Show 2 child fields
      • partneracct_…
      • percentnumber
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Files

POST/v1/files
As creatorwrite

Upload a file

SDKlucra.files.create({ query, body })

Query parameters

  • purposeenumrequired
    submissionproduct_imageprofile_pictureprogram_briefprogram_reference_videoagreementchat_attachmentad_creativeprofile_referenceprofile_reference_thumbnail
  • namestring
  • sizeinteger

    Reserve instead of streaming: the file's size in bytes. The body stays empty.

  • contentTypestring

    With `size`: the file's MIME type.

  • ownerstring

    With purpose=profile_picture: the signed-in person's own photo, for PATCH /v1/me.

    me

Body

The file's raw bytes.

Response20115 fieldsShow
  • idfile_…
  • purposeenum
    submissionproduct_imageprofile_pictureprogram_briefprogram_reference_videoagreementchat_attachmentad_creativeprofile_referenceprofile_reference_thumbnail
  • statusenum

    awaiting_upload: reserved, waiting for the bytes at `upload.url`; processing: being verified or prepared; failed carries why.

    awaiting_uploadprocessingreadyfaileddeleted
  • fileNamestringnullable
  • contentTypestringnullable
  • sizenumbernullable
  • urlstringnullable

    A signed link to the file, valid for about 10 minutes; null until it's ready.

  • widthnumbernullable
  • heightnumbernullable
  • blurHashstringnullable

    An image's blur-hash placeholder, once computed.

  • errorobjectnullable

    Why it failed; `upload_incomplete` when the upload was cut off.

    Show 2 child fields
    • codestring
    • messagestring
  • uploadobject

    Where to PUT the bytes, with these headers, before `expiresAt`; only on a reservation.

    Show 3 child fields
    • urlstring
    • headersobject
    • expiresAtstring
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/files
As creatorread

List files

SDKlucra.files.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • purposestring

    One or more, comma-separated: submission, product_image, profile_picture, program_brief, program_reference_video, agreement, chat_attachment, ad_creative, profile_reference, profile_reference_thumbnail.

  • statusstring

    One or more, comma-separated: awaiting_upload, processing, ready, failed, deleted.

Response200A page of items, 15 fields each, and nextCursorShow
  • idfile_…
  • purposeenum
    submissionproduct_imageprofile_pictureprogram_briefprogram_reference_videoagreementchat_attachmentad_creativeprofile_referenceprofile_reference_thumbnail
  • statusenum

    awaiting_upload: reserved, waiting for the bytes at `upload.url`; processing: being verified or prepared; failed carries why.

    awaiting_uploadprocessingreadyfaileddeleted
  • fileNamestringnullable
  • contentTypestringnullable
  • sizenumbernullable
  • urlstringnullable

    A signed link to the file, valid for about 10 minutes; null until it's ready.

  • widthnumbernullable
  • heightnumbernullable
  • blurHashstringnullable

    An image's blur-hash placeholder, once computed.

  • errorobjectnullable

    Why it failed; `upload_incomplete` when the upload was cut off.

    Show 2 child fields
    • codestring
    • messagestring
  • uploadobject

    Where to PUT the bytes, with these headers, before `expiresAt`; only on a reservation.

    Show 3 child fields
    • urlstring
    • headersobject
    • expiresAtstring
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/files/:id
As creatorread

Get a file

SDKlucra.files.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20015 fieldsShow
  • idfile_…
  • purposeenum
    submissionproduct_imageprofile_pictureprogram_briefprogram_reference_videoagreementchat_attachmentad_creativeprofile_referenceprofile_reference_thumbnail
  • statusenum

    awaiting_upload: reserved, waiting for the bytes at `upload.url`; processing: being verified or prepared; failed carries why.

    awaiting_uploadprocessingreadyfaileddeleted
  • fileNamestringnullable
  • contentTypestringnullable
  • sizenumbernullable
  • urlstringnullable

    A signed link to the file, valid for about 10 minutes; null until it's ready.

  • widthnumbernullable
  • heightnumbernullable
  • blurHashstringnullable

    An image's blur-hash placeholder, once computed.

  • errorobjectnullable

    Why it failed; `upload_incomplete` when the upload was cut off.

    Show 2 child fields
    • codestring
    • messagestring
  • uploadobject

    Where to PUT the bytes, with these headers, before `expiresAt`; only on a reservation.

    Show 3 child fields
    • urlstring
    • headersobject
    • expiresAtstring
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/files/:id
As creatorwrite

Finish or delete an upload

SDKlucra.files.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusenumrequired

    processing: the bytes are at `upload.url`, so verify and store them (images are then ready at once); deleted: cancel the upload, or delete a file nothing uses.

    processingdeleted
Response20015 fieldsShow
  • idfile_…
  • purposeenum
    submissionproduct_imageprofile_pictureprogram_briefprogram_reference_videoagreementchat_attachmentad_creativeprofile_referenceprofile_reference_thumbnail
  • statusenum

    awaiting_upload: reserved, waiting for the bytes at `upload.url`; processing: being verified or prepared; failed carries why.

    awaiting_uploadprocessingreadyfaileddeleted
  • fileNamestringnullable
  • contentTypestringnullable
  • sizenumbernullable
  • urlstringnullable

    A signed link to the file, valid for about 10 minutes; null until it's ready.

  • widthnumbernullable
  • heightnumbernullable
  • blurHashstringnullable

    An image's blur-hash placeholder, once computed.

  • errorobjectnullable

    Why it failed; `upload_incomplete` when the upload was cut off.

    Show 2 child fields
    • codestring
    • messagestring
  • uploadobject

    Where to PUT the bytes, with these headers, before `expiresAt`; only on a reservation.

    Show 3 child fields
    • urlstring
    • headersobject
    • expiresAtstring
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Messages

GET/v1/messages
As creatorread

List messages

SDKlucra.messages.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • threadthr_…
Response200A page of items, 12 fields each, and nextCursorShow
  • idstring
  • threadstring
  • senderobject
    Show 4 child fields
    • idstring
    • typeenum
      organizationcreatorsupport
    • namestringnullable
    • avatarstringnullable
  • automatedboolean
  • bodystring
  • filesobject[]
    Show 8 child fields
    • idstring
    • namestring
    • kindenum
      imagevideodocument
    • sizenumbernullable
    • widthnumbernullable
    • heightnumbernullable
    • urlstringnullable
    • thumbnailUrlstringnullable
  • replyTostringnullable
  • reactionsobject[]
    Show 2 child fields
    • emojistring
    • actorsstring[]
  • createdAtstring
  • editedAtstringnullable
  • deletedAtstringnullable
  • versioninteger
POST/v1/messages
As creatorwrite

Send a message

SDKlucra.messages.create({ body })

Body

  • threadthr_…required
  • bodystring
  • filesfile_…[]

    Attachments: `chat_attachment` files.

  • replyTomsg_…
Response20112 fieldsShow
  • idstring
  • threadstring
  • senderobject
    Show 4 child fields
    • idstring
    • typeenum
      organizationcreatorsupport
    • namestringnullable
    • avatarstringnullable
  • automatedboolean
  • bodystring
  • filesobject[]
    Show 8 child fields
    • idstring
    • namestring
    • kindenum
      imagevideodocument
    • sizenumbernullable
    • widthnumbernullable
    • heightnumbernullable
    • urlstringnullable
    • thumbnailUrlstringnullable
  • replyTostringnullable
  • reactionsobject[]
    Show 2 child fields
    • emojistring
    • actorsstring[]
  • createdAtstring
  • editedAtstringnullable
  • deletedAtstringnullable
  • versioninteger
PATCH/v1/messages/:id
As creatorwrite

Edit or delete a message the caller sent (at its version), react to a message, or report it; one change per request

SDKlucra.messages.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • versioninteger

    The message's `version` as read; required to edit or delete.

  • bodystring

    New text for a message the caller sent.

  • statusstring

    Delete a message the caller sent.

    deleted
  • reactionobject

    Add or remove the caller's emoji reaction.

    Show 2 child fields
    • emojistringrequired
    • activebooleanrequired

      true adds the reaction, false removes it.

  • reportobject

    Report the message to Lucra.

    Show 2 child fields
    • reasonenumrequired
      spamharassmentunsafe_contentother
    • detailstring
Response20012 fieldsShow
  • idstring
  • threadstring
  • senderobject
    Show 4 child fields
    • idstring
    • typeenum
      organizationcreatorsupport
    • namestringnullable
    • avatarstringnullable
  • automatedboolean
  • bodystring
  • filesobject[]
    Show 8 child fields
    • idstring
    • namestring
    • kindenum
      imagevideodocument
    • sizenumbernullable
    • widthnumbernullable
    • heightnumbernullable
    • urlstringnullable
    • thumbnailUrlstringnullable
  • replyTostringnullable
  • reactionsobject[]
    Show 2 child fields
    • emojistring
    • actorsstring[]
  • createdAtstring
  • editedAtstringnullable
  • deletedAtstringnullable
  • versioninteger

Payments

POST/v1/payments
write

Pay a creator

SDKlucra.payments.create({ body })

Headers

  • Idempotency-Keystringrequired

    Unique to this write; resend it to retry safely.

Body

  • creatorcrtr_…required
  • netintegerrequired

    In cents, what the creator receives; Lucra's fee is charged on top.

  • notestring
Response20115 fieldsShow
  • idpay_…
  • creatorcrtr_…
  • amountinteger

    Charged to the brand: what the creator receives (`net`) plus Lucra's fee, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum

    pending_approval until the brand approves it, then approved while it's charged; pending until Stripe confirms the charge; then succeeded, or failed with `failureMessage`. disputed until Lucra decides; refunded if canceled.

    pending_approvalapprovedpendingsucceededfailedrefundeddisputed
  • retainerret_…nullable

    The retainer this is a period payment of, if any.

  • failureMessagestringnullable
  • notestringnullable
  • holdUntilAtstringnullable
  • disputeobjectnullable

    While `status` is disputed: who opened it and why; null otherwise.

    Show 3 child fields
    • byenum

      brand: the paying brand disputed it; lucra: Lucra holds it for review.

      brandlucra
    • reasonstringnullable

      Why; a Lucra hold's reason shows only to Lucra's admin.

    • openedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/payments
As creatorread

List payments to creators

SDKlucra.payments.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • creatorcrtr_…
  • retainerret_…
  • statusenum

    pending_approval until the brand approves it, then approved while it's charged; pending until Stripe confirms the charge; then succeeded, or failed with `failureMessage`. disputed until Lucra decides; refunded if canceled.

    pending_approvalapprovedpendingsucceededfailedrefundeddisputed
Response200A page of items, 15 fields each, and nextCursorShow
  • idpay_…
  • creatorcrtr_…
  • amountinteger

    Charged to the brand: what the creator receives (`net`) plus Lucra's fee, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum

    pending_approval until the brand approves it, then approved while it's charged; pending until Stripe confirms the charge; then succeeded, or failed with `failureMessage`. disputed until Lucra decides; refunded if canceled.

    pending_approvalapprovedpendingsucceededfailedrefundeddisputed
  • retainerret_…nullable

    The retainer this is a period payment of, if any.

  • failureMessagestringnullable
  • notestringnullable
  • holdUntilAtstringnullable
  • disputeobjectnullable

    While `status` is disputed: who opened it and why; null otherwise.

    Show 3 child fields
    • byenum

      brand: the paying brand disputed it; lucra: Lucra holds it for review.

      brandlucra
    • reasonstringnullable

      Why; a Lucra hold's reason shows only to Lucra's admin.

    • openedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/payments/:id
As creatorread

Get a payment to a creator

SDKlucra.payments.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20015 fieldsShow
  • idpay_…
  • creatorcrtr_…
  • amountinteger

    Charged to the brand: what the creator receives (`net`) plus Lucra's fee, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum

    pending_approval until the brand approves it, then approved while it's charged; pending until Stripe confirms the charge; then succeeded, or failed with `failureMessage`. disputed until Lucra decides; refunded if canceled.

    pending_approvalapprovedpendingsucceededfailedrefundeddisputed
  • retainerret_…nullable

    The retainer this is a period payment of, if any.

  • failureMessagestringnullable
  • notestringnullable
  • holdUntilAtstringnullable
  • disputeobjectnullable

    While `status` is disputed: who opened it and why; null otherwise.

    Show 3 child fields
    • byenum

      brand: the paying brand disputed it; lucra: Lucra holds it for review.

      brandlucra
    • reasonstringnullable

      Why; a Lucra hold's reason shows only to Lucra's admin.

    • openedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/payments/:id
write

Approve or dispute a payment to a creator

SDKlucra.payments.update({ path: { id }, body })

Path parameters

  • idstringrequired

Headers

  • Idempotency-Keystringrequired

    Unique to this write; resend it to retry safely.

Response20015 fieldsShow
  • idpay_…
  • creatorcrtr_…
  • amountinteger

    Charged to the brand: what the creator receives (`net`) plus Lucra's fee, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum

    pending_approval until the brand approves it, then approved while it's charged; pending until Stripe confirms the charge; then succeeded, or failed with `failureMessage`. disputed until Lucra decides; refunded if canceled.

    pending_approvalapprovedpendingsucceededfailedrefundeddisputed
  • retainerret_…nullable

    The retainer this is a period payment of, if any.

  • failureMessagestringnullable
  • notestringnullable
  • holdUntilAtstringnullable
  • disputeobjectnullable

    While `status` is disputed: who opened it and why; null otherwise.

    Show 3 child fields
    • byenum

      brand: the paying brand disputed it; lucra: Lucra holds it for review.

      brandlucra
    • reasonstringnullable

      Why; a Lucra hold's reason shows only to Lucra's admin.

    • openedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Payouts

GET/v1/payouts
As creatorread

List payouts: to creators from this brand's earnings, received by this account, or (as a creator) the creator's own

SDKlucra.payouts.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • directionenum
    sentreceived
  • creatorcrtr_…
  • statusstring

    One or more, comma-separated: pending, submitted, paid, failed, reversed, unknown.

Response200A page of items, 12 fields each, and nextCursorShow
  • idpout_…
  • directionenum

    sent: from this brand's earnings to a creator's balance; received: paid to this account's balance, like a partner's commission.

    sentreceived
  • creatorcrtr_…nullable
  • sourcesenum[]
    paid_adsorganicsubmissionprogrambonusretainerreferraladjustmentpartner_commission
  • amountinteger

    The earnings it pays; `net` is sent to the recipient's Stripe balance, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    pendingsubmittedpaidfailedreversedunknown
  • failureMessagestringnullable
  • createdAtstring
  • updatedAtstring
GET/v1/payouts/:id
As creatorread

Get a payout

SDKlucra.payouts.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20012 fieldsShow
  • idpout_…
  • directionenum

    sent: from this brand's earnings to a creator's balance; received: paid to this account's balance, like a partner's commission.

    sentreceived
  • creatorcrtr_…nullable
  • sourcesenum[]
    paid_adsorganicsubmissionprogrambonusretainerreferraladjustmentpartner_commission
  • amountinteger

    The earnings it pays; `net` is sent to the recipient's Stripe balance, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    pendingsubmittedpaidfailedreversedunknown
  • failureMessagestringnullable
  • createdAtstring
  • updatedAtstring

Earnings

GET/v1/earnings
As creatorread

List a creator's earnings

SDKlucra.earnings.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • statusstring

    One or more, comma-separated: pending, held, available, paid.

  • sourcestring

    One or more, comma-separated: paid_ads, organic, submission, program, bonus, retainer, referral, adjustment, partner_commission.

  • programprog_…
  • retainerret_…
Response200A page of items, 13 fields each, and nextCursorShow
  • idern_…
  • programprog_…nullable
  • accountacct_…

    The brand that paid it.

  • submissionsub_…nullable
  • retainerret_…nullable
  • sourceenum
    paid_adsorganicsubmissionprogrambonusretainerreferraladjustmentpartner_commission
  • amountinteger

    Earned before any partner take rate (`fee`); the creator receives `net`, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum

    held until holdUntilAt, then available, then paid: sent to the creator's Stripe balance (once their identity is verified), to withdraw.

    pendingheldavailablepaid
  • holdUntilAtstringnullable
  • occurredAtstring
GET/v1/earnings/:id
As creatorread

Get one of a creator's earnings

SDKlucra.earnings.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20013 fieldsShow
  • idern_…
  • programprog_…nullable
  • accountacct_…

    The brand that paid it.

  • submissionsub_…nullable
  • retainerret_…nullable
  • sourceenum
    paid_adsorganicsubmissionprogrambonusretainerreferraladjustmentpartner_commission
  • amountinteger

    Earned before any partner take rate (`fee`); the creator receives `net`, in cents.

  • feeinteger

    Taken from `amount`, in cents.

  • netinteger

    `amount` less `fee`, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum

    held until holdUntilAt, then available, then paid: sent to the creator's Stripe balance (once their identity is verified), to withdraw.

    pendingheldavailablepaid
  • holdUntilAtstringnullable
  • occurredAtstring

Withdrawals

POST/v1/withdrawals
As creatorwrite

Withdraw from the balance to the bank account or debit card

SDKlucra.withdrawals.create({ body })

Headers

  • Idempotency-Keystringrequired

    Unique to this write; resend it to retry safely.

Body

  • amountinteger

    In cents; defaults to everything withdrawable.

  • speedenum
    standardinstant
Response20111 fieldsShow
  • idwdr_…
  • amountinteger

    Taken from the balance, in cents.

  • feeinteger

    Lucra's fee, taken from the amount: the instant fee, plus the cross-border fee outside the US.

  • netinteger

    `amount` less `fee`: what reaches the bank or card, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • speedenum
    standardinstant
  • statusenum

    in_transit once Stripe accepted it; paid when it reached the bank.

    pendingin_transitpaidfailed
  • failureMessagestringnullable
  • arrivesAtstringnullable
  • createdAtstring
  • updatedAtstring
GET/v1/withdrawals
As creatorread

List withdrawals from the balance

SDKlucra.withdrawals.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • statusstring

    One or more, comma-separated: pending, in_transit, paid, failed.

Response200A page of items, 11 fields each, and nextCursorShow
  • idwdr_…
  • amountinteger

    Taken from the balance, in cents.

  • feeinteger

    Lucra's fee, taken from the amount: the instant fee, plus the cross-border fee outside the US.

  • netinteger

    `amount` less `fee`: what reaches the bank or card, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • speedenum
    standardinstant
  • statusenum

    in_transit once Stripe accepted it; paid when it reached the bank.

    pendingin_transitpaidfailed
  • failureMessagestringnullable
  • arrivesAtstringnullable
  • createdAtstring
  • updatedAtstring
GET/v1/withdrawals/:id
As creatorread

Get a withdrawal

SDKlucra.withdrawals.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20011 fieldsShow
  • idwdr_…
  • amountinteger

    Taken from the balance, in cents.

  • feeinteger

    Lucra's fee, taken from the amount: the instant fee, plus the cross-border fee outside the US.

  • netinteger

    `amount` less `fee`: what reaches the bank or card, in cents.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • speedenum
    standardinstant
  • statusenum

    in_transit once Stripe accepted it; paid when it reached the bank.

    pendingin_transitpaidfailed
  • failureMessagestringnullable
  • arrivesAtstringnullable
  • createdAtstring
  • updatedAtstring

Cities

GET/v1/cities
As creatorread

Search cities by name, exact matches first

SDKlucra.cities.list({ query })

Query parameters

  • qstringrequired

    A city name, or the start of one.

  • countrystring

    Only cities in this country (ISO 3166-1 alpha-2, e.g. US).

  • limitinteger

    Cities per page.

  • cursorstring

    `nextCursor` from the previous page, with the same q and country.

Response200A page of items, 12 fields each, and nextCursorShow
  • geonamesIdstring
  • namestring
  • displayNamestring
  • citystring
  • regionstringnullable
  • regionCodestringnullable
  • regionNamestringnullable
  • countryCodestring
  • countryNamestring
  • latitudenumber
  • longitudenumber
  • timeZonestring

Keys

GET/v1/keys/current
read

Get the calling key's webhook URL

SDKlucra.keys.current.retrieve()
Response2003 fieldsShow
  • keykey_…
  • webhookUrlstringnullable

    Where this key's events are POSTed; null sends none.

  • webhookSecretstringnullable

    The secret that signs `Lucra-Signature`, shown once: when a URL is set. Null otherwise.

PATCH/v1/keys/current
write

Set or clear the calling key's webhook URL; setting one issues a new signing secret, in this response only

SDKlucra.keys.current.update({ body })

Body

  • webhookUrlstringnullablerequired

    A public https:// URL to POST this key's events to, or null to stop sending them.

Response2003 fieldsShow
  • keykey_…
  • webhookUrlstringnullable

    Where this key's events are POSTed; null sends none.

  • webhookSecretstringnullable

    The secret that signs `Lucra-Signature`, shown once: when a URL is set. Null otherwise.

Events

GET/v1/events
read

List the events sent to this key's webhook, newest first, to replay missed ones

SDKlucra.events.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 6 fields each, and nextCursorShow
  • idevt_…
  • typestring

    `<resource>.<past tense>`, as the webhook names it.

  • createdAtstring
  • accountacct_…nullable
  • dataobject

    IDs of the records involved, keyed by kind, e.g. { creator: "crtr_…" }.

  • deliveryenum

    Whether the POST to the webhook URL succeeded; failed after three days of retries.

    pendingdeliveredfailed

Agreements

GET/v1/agreements/acceptances
As creatorread

List creators' acceptances of your agreements; as a creator, the ones you accepted and the ones waiting on you

SDKlucra.agreements.acceptances.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • agreementagr_…
  • creatorcrtr_…
  • statusenum

    pending: offers and invitations waiting on a creator; only a creator lists these.

    acceptedpending
Response200A page of items, 13 fields each, and nextCursorShow
  • idagac_…
  • statusenum
    acceptedpending
  • accountacct_…

    The brand whose agreement it is.

  • brandNamestring
  • creatorcrtr_…
  • creatorNamestringnullable
  • contextenum
    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • programprog_…nullable
  • retainerret_…nullable
  • titlestring
  • documentanynullable

    The version accepted; null while pending.

  • acceptedAtstringnullable
  • createdAtstring
GET/v1/agreements
read

List agreements

SDKlucra.agreements.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • statusstring

    One or more, comma-separated: active, archived.

Response200A page of items, 11 fields each, and nextCursorShow
  • idagr_…
  • titlestring
  • descriptionstringnullable
  • statusenum
    activearchived
  • applicabilityenum[]

    Where every creator must accept it: creator_relationship, program_application, program_enrollment, retainer or content_submission.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • latestVersionobjectnullable

    Every version: GET /v1/agreements/:id/versions.

    Show 9 child fields
    • agreementagr_…
    • versioninteger
    • filefile_…nullable
    • fileNamestring
    • sizeinteger
    • sha256string
    • applicabilityenum[]
      creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
    • createdAtstring
    • urlstringnullable

      A short-lived link to the PDF.

  • acceptedCountinteger

    Creators who accepted a version; each acceptance: GET /v1/agreements/acceptances?agreement=…

  • pendingCountinteger
  • versioninteger

    Send it back as `version` to reject a change based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/agreements/:id
read

Get an agreement

SDKlucra.agreements.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20011 fieldsShow
  • idagr_…
  • titlestring
  • descriptionstringnullable
  • statusenum
    activearchived
  • applicabilityenum[]

    Where every creator must accept it: creator_relationship, program_application, program_enrollment, retainer or content_submission.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • latestVersionobjectnullable

    Every version: GET /v1/agreements/:id/versions.

    Show 9 child fields
    • agreementagr_…
    • versioninteger
    • filefile_…nullable
    • fileNamestring
    • sizeinteger
    • sha256string
    • applicabilityenum[]
      creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
    • createdAtstring
    • urlstringnullable

      A short-lived link to the PDF.

  • acceptedCountinteger

    Creators who accepted a version; each acceptance: GET /v1/agreements/acceptances?agreement=…

  • pendingCountinteger
  • versioninteger

    Send it back as `version` to reject a change based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/agreements/:id/versions
read

List an agreement's versions, newest first

SDKlucra.agreements.versions.list({ path: { id }, query })

Path parameters

  • idstringrequired

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 9 fields each, and nextCursorShow
  • agreementagr_…
  • versioninteger
  • filefile_…nullable
  • fileNamestring
  • sizeinteger
  • sha256string
  • applicabilityenum[]
    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • createdAtstring
  • urlstringnullable

    A short-lived link to the PDF.

GET/v1/agreements/:id/versions/:number
read

Get a version of an agreement by its number

SDKlucra.agreements.versions.retrieve({ path: { id, number } })

Path parameters

  • idstringrequired
  • numberstringrequired
Response2009 fieldsShow
  • agreementagr_…
  • versioninteger
  • filefile_…nullable
  • fileNamestring
  • sizeinteger
  • sha256string
  • applicabilityenum[]
    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • createdAtstring
  • urlstringnullable

    A short-lived link to the PDF.

POST/v1/agreements
write

Publish an agreement

SDKlucra.agreements.create({ body })

Body

  • filefile_…required

    A ready PDF uploaded with POST /v1/files?purpose=agreement.

  • titlestringrequired
  • descriptionstringnullable
  • applicabilityenum[]

    Where every creator must accept it; empty (the default) for an agreement only the programs that list it require.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
Response20111 fieldsShow
  • idagr_…
  • titlestring
  • descriptionstringnullable
  • statusenum
    activearchived
  • applicabilityenum[]

    Where every creator must accept it: creator_relationship, program_application, program_enrollment, retainer or content_submission.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • latestVersionobjectnullable

    Every version: GET /v1/agreements/:id/versions.

    Show 9 child fields
    • agreementagr_…
    • versioninteger
    • filefile_…nullable
    • fileNamestring
    • sizeinteger
    • sha256string
    • applicabilityenum[]
      creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
    • createdAtstring
    • urlstringnullable

      A short-lived link to the PDF.

  • acceptedCountinteger

    Creators who accepted a version; each acceptance: GET /v1/agreements/acceptances?agreement=…

  • pendingCountinteger
  • versioninteger

    Send it back as `version` to reject a change based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/agreements/:id/versions
write

Publish a new version of an agreement

SDKlucra.agreements.versions.create({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • filefile_…required

    A ready PDF uploaded with POST /v1/files?purpose=agreement.

  • titlestringrequired
  • descriptionstringnullable
  • applicabilityenum[]

    Where every creator must accept it; empty (the default) for an agreement only the programs that list it require.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • versioninteger
Response20111 fieldsShow
  • idagr_…
  • titlestring
  • descriptionstringnullable
  • statusenum
    activearchived
  • applicabilityenum[]

    Where every creator must accept it: creator_relationship, program_application, program_enrollment, retainer or content_submission.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • latestVersionobjectnullable

    Every version: GET /v1/agreements/:id/versions.

    Show 9 child fields
    • agreementagr_…
    • versioninteger
    • filefile_…nullable
    • fileNamestring
    • sizeinteger
    • sha256string
    • applicabilityenum[]
      creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
    • createdAtstring
    • urlstringnullable

      A short-lived link to the PDF.

  • acceptedCountinteger

    Creators who accepted a version; each acceptance: GET /v1/agreements/acceptances?agreement=…

  • pendingCountinteger
  • versioninteger

    Send it back as `version` to reject a change based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/agreements/:id
write

Change where an agreement is required, or archive it

SDKlucra.agreements.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • applicabilityenum[]
    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • statusstring
    archived
  • versioninteger
Response20011 fieldsShow
  • idagr_…
  • titlestring
  • descriptionstringnullable
  • statusenum
    activearchived
  • applicabilityenum[]

    Where every creator must accept it: creator_relationship, program_application, program_enrollment, retainer or content_submission.

    creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
  • latestVersionobjectnullable

    Every version: GET /v1/agreements/:id/versions.

    Show 9 child fields
    • agreementagr_…
    • versioninteger
    • filefile_…nullable
    • fileNamestring
    • sizeinteger
    • sha256string
    • applicabilityenum[]
      creator_relationshipprogram_applicationprogram_enrollmentretainercontent_submission
    • createdAtstring
    • urlstringnullable

      A short-lived link to the PDF.

  • acceptedCountinteger

    Creators who accepted a version; each acceptance: GET /v1/agreements/acceptances?agreement=…

  • pendingCountinteger
  • versioninteger

    Send it back as `version` to reject a change based on a stale read.

  • createdAtstring
  • updatedAtstring

Threads

GET/v1/threads
As creatorread

List the conversations the account (or, acting as a creator, the creator) takes part in, most recently active first

SDKlucra.threads.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • kindenum
    directprogramsupport
  • programprog_…
Response200A page of items, 14 fields each, and nextCursorShow
  • idstring
  • kindenum
    directprogramsupport
  • accountstringnullable
  • programstringnullable
  • supportobjectnullable
    Show 2 child fields
    • statusenum
      waiting_on_lucrawaiting_on_customerresolved
    • resolvedAtstringnullable
  • participantsobject[]
    Show 3 child fields
    • actorobject
      Show 4 child fields
      • idstring
      • typeenum
        organizationcreatorsupport
      • namestringnullable
      • avatarstringnullable
    • lastReadstringnullable
    • joinedAtstring
  • lastMessageobjectnullable
    Show 12 child fields
    • idstring
    • threadstring
    • senderobject
      Show 4 child fields
      • idstring
      • typeenum
        organizationcreatorsupport
      • namestringnullable
      • avatarstringnullable
    • automatedboolean
    • bodystring
    • filesobject[]
      Show 8 child fields
      • idstring
      • namestring
      • kindenum
        imagevideodocument
      • sizenumbernullable
      • widthnumbernullable
      • heightnumbernullable
      • urlstringnullable
      • thumbnailUrlstringnullable
    • replyTostringnullable
    • reactionsobject[]
      Show 2 child fields
      • emojistring
      • actorsstring[]
    • createdAtstring
    • editedAtstringnullable
    • deletedAtstringnullable
    • versioninteger
  • mutedboolean
  • blockedstring[]
  • canSendboolean
  • unreadCountinteger
  • createdAtstring
  • updatedAtstring
  • versioninteger
POST/v1/threads
As creatorwrite

Open a direct conversation with an account or creator you work with, a program's group chat or a Lucra Support thread; an existing one is returned

SDKlucra.threads.create({ body })

Body

  • kindenumrequired

    direct: one account or creator; program: a program's group chat; support: Lucra Support.

    directprogramsupport
  • withstring

    direct: the account (acct_) or creator (crtr_) to talk to; a creator must work with the account (and the reverse).

  • programstring

    program: the program (prog_) whose group chat to open.

  • messageobject

    A first message, sent when the conversation is new.

    Show 2 child fields
    • bodystring

      The message text.

    • filesstring[]

      Attachments: `chat_attachment` files (file_).

Response20114 fieldsShow
  • idstring
  • kindenum
    directprogramsupport
  • accountstringnullable
  • programstringnullable
  • supportobjectnullable
    Show 2 child fields
    • statusenum
      waiting_on_lucrawaiting_on_customerresolved
    • resolvedAtstringnullable
  • participantsobject[]
    Show 3 child fields
    • actorobject
      Show 4 child fields
      • idstring
      • typeenum
        organizationcreatorsupport
      • namestringnullable
      • avatarstringnullable
    • lastReadstringnullable
    • joinedAtstring
  • lastMessageobjectnullable
    Show 12 child fields
    • idstring
    • threadstring
    • senderobject
      Show 4 child fields
      • idstring
      • typeenum
        organizationcreatorsupport
      • namestringnullable
      • avatarstringnullable
    • automatedboolean
    • bodystring
    • filesobject[]
      Show 8 child fields
      • idstring
      • namestring
      • kindenum
        imagevideodocument
      • sizenumbernullable
      • widthnumbernullable
      • heightnumbernullable
      • urlstringnullable
      • thumbnailUrlstringnullable
    • replyTostringnullable
    • reactionsobject[]
      Show 2 child fields
      • emojistring
      • actorsstring[]
    • createdAtstring
    • editedAtstringnullable
    • deletedAtstringnullable
    • versioninteger
  • mutedboolean
  • blockedstring[]
  • canSendboolean
  • unreadCountinteger
  • createdAtstring
  • updatedAtstring
  • versioninteger
GET/v1/threads/:id
As creatorread

Get a conversation; its messages are GET /v1/messages?thread=

SDKlucra.threads.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20014 fieldsShow
  • idstring
  • kindenum
    directprogramsupport
  • accountstringnullable
  • programstringnullable
  • supportobjectnullable
    Show 2 child fields
    • statusenum
      waiting_on_lucrawaiting_on_customerresolved
    • resolvedAtstringnullable
  • participantsobject[]
    Show 3 child fields
    • actorobject
      Show 4 child fields
      • idstring
      • typeenum
        organizationcreatorsupport
      • namestringnullable
      • avatarstringnullable
    • lastReadstringnullable
    • joinedAtstring
  • lastMessageobjectnullable
    Show 12 child fields
    • idstring
    • threadstring
    • senderobject
      Show 4 child fields
      • idstring
      • typeenum
        organizationcreatorsupport
      • namestringnullable
      • avatarstringnullable
    • automatedboolean
    • bodystring
    • filesobject[]
      Show 8 child fields
      • idstring
      • namestring
      • kindenum
        imagevideodocument
      • sizenumbernullable
      • widthnumbernullable
      • heightnumbernullable
      • urlstringnullable
      • thumbnailUrlstringnullable
    • replyTostringnullable
    • reactionsobject[]
      Show 2 child fields
      • emojistring
      • actorsstring[]
    • createdAtstring
    • editedAtstringnullable
    • deletedAtstringnullable
    • versioninteger
  • mutedboolean
  • blockedstring[]
  • canSendboolean
  • unreadCountinteger
  • createdAtstring
  • updatedAtstring
  • versioninteger

Posts

GET/v1/posts
read

List creators' posts in organic programs

SDKlucra.posts.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • programprog_…
  • creatorcrtr_…
  • platformenum
    instagramtiktok
  • statusstring

    Defaults to every status but archived.

Response200A page of items, 26 fields each, and nextCursorShow
  • idpost_…
  • submissionsub_…
  • creatorcrtr_…
  • programprog_…
  • connectionconn_…nullable
  • titlestring
  • creatorNamestring
  • handlestring
  • platformenum
    instagramtiktok
  • programNamestring
  • productprod_…nullable
  • urlstringnullable
  • videoUrlstringnullable
  • thumbnailUrlstringnullable
  • statusenum

    tracking (views being measured), ready_for_review, approved (reviewed; its payment waits on approval), payment_approved, paid or rejected; archived once hidden from the brand's view.

    trackingready_for_reviewapprovedpayment_approvedpaidrejectedarchived
  • confidenceenum

    The fraud check on the post's views.

    looks_goodneeds_reviewnot_enough_data
  • reasonstring
  • amountinteger

    What the creator earns (net); an estimate while the post is tracking.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • eligibleViewsnumbernullable
  • tagsobject[]

    Each tag with the color it was assigned with.

    Show 2 child fields
    • namestring
    • colorenum
      greydark_greypurpletealgreenyelloworangepink
  • dailyobject[]
    Show 6 child fields
    • datestring
    • viewsnumber
    • engagementsnumbernullable
    • likesnumbernullable
    • commentsnumbernullable
    • sharesnumbernullable
  • evidenceany

    On GET /v1/posts/:id: the claim's measurement windows, hourly snapshots, risk reasons, review history and payout account status.

  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/posts/:id
read

Get a post with its claim evidence

SDKlucra.posts.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20026 fieldsShow
  • idpost_…
  • submissionsub_…
  • creatorcrtr_…
  • programprog_…
  • connectionconn_…nullable
  • titlestring
  • creatorNamestring
  • handlestring
  • platformenum
    instagramtiktok
  • programNamestring
  • productprod_…nullable
  • urlstringnullable
  • videoUrlstringnullable
  • thumbnailUrlstringnullable
  • statusenum

    tracking (views being measured), ready_for_review, approved (reviewed; its payment waits on approval), payment_approved, paid or rejected; archived once hidden from the brand's view.

    trackingready_for_reviewapprovedpayment_approvedpaidrejectedarchived
  • confidenceenum

    The fraud check on the post's views.

    looks_goodneeds_reviewnot_enough_data
  • reasonstring
  • amountinteger

    What the creator earns (net); an estimate while the post is tracking.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • eligibleViewsnumbernullable
  • tagsobject[]

    Each tag with the color it was assigned with.

    Show 2 child fields
    • namestring
    • colorenum
      greydark_greypurpletealgreenyelloworangepink
  • dailyobject[]
    Show 6 child fields
    • datestring
    • viewsnumber
    • engagementsnumbernullable
    • likesnumbernullable
    • commentsnumbernullable
    • sharesnumbernullable
  • evidenceany

    On GET /v1/posts/:id: the claim's measurement windows, hourly snapshots, risk reasons, review history and payout account status.

  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/posts/:id
write

Tag or archive a post

SDKlucra.posts.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • versioninteger
  • tagobject
    Show 2 child fields
    • namestringrequired
    • colorenumrequired
      greydark_greypurpletealgreenyelloworangepink
  • assignedboolean

    With tag: add (true) or remove (false) it.

  • statusstring

    Hides the post from the brand's view.

    archived
Response20026 fieldsShow
  • idpost_…
  • submissionsub_…
  • creatorcrtr_…
  • programprog_…
  • connectionconn_…nullable
  • titlestring
  • creatorNamestring
  • handlestring
  • platformenum
    instagramtiktok
  • programNamestring
  • productprod_…nullable
  • urlstringnullable
  • videoUrlstringnullable
  • thumbnailUrlstringnullable
  • statusenum

    tracking (views being measured), ready_for_review, approved (reviewed; its payment waits on approval), payment_approved, paid or rejected; archived once hidden from the brand's view.

    trackingready_for_reviewapprovedpayment_approvedpaidrejectedarchived
  • confidenceenum

    The fraud check on the post's views.

    looks_goodneeds_reviewnot_enough_data
  • reasonstring
  • amountinteger

    What the creator earns (net); an estimate while the post is tracking.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • eligibleViewsnumbernullable
  • tagsobject[]

    Each tag with the color it was assigned with.

    Show 2 child fields
    • namestring
    • colorenum
      greydark_greypurpletealgreenyelloworangepink
  • dailyobject[]
    Show 6 child fields
    • datestring
    • viewsnumber
    • engagementsnumbernullable
    • likesnumbernullable
    • commentsnumbernullable
    • sharesnumbernullable
  • evidenceany

    On GET /v1/posts/:id: the claim's measurement windows, hourly snapshots, risk reasons, review history and payout account status.

  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Ad authorizations

GET/v1/ad-authorizations
As creatorread

List ad authorizations: a brand's requests, or, as a creator, the ones asked of you

SDKlucra.adAuthorizations.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • submissionsub_…
  • platformenum
    tiktokmeta
  • statusstring

    One or more, comma-separated: requested, granted, revoked, expired.

Response200A page of items, 14 fields each, and nextCursorShow
  • idadauth_…
  • submissionsub_…
  • creatorcrtr_…
  • accountacct_…

    The brand that asks.

  • brandNamestring
  • platformenum
    tiktokmeta
  • statusenum

    requested by the brand, granted by the creator, revoked by either; expired once `expiresAt` passes.

    requestedgrantedrevokedexpired
  • codestringnullable

    The TikTok Spark code the creator granted with; null for Meta and until granted.

  • authorizedAtstringnullable
  • expiresAtstringnullable
  • revokedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/ad-authorizations/:id
As creatorread

Get an ad authorization

SDKlucra.adAuthorizations.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20014 fieldsShow
  • idadauth_…
  • submissionsub_…
  • creatorcrtr_…
  • accountacct_…

    The brand that asks.

  • brandNamestring
  • platformenum
    tiktokmeta
  • statusenum

    requested by the brand, granted by the creator, revoked by either; expired once `expiresAt` passes.

    requestedgrantedrevokedexpired
  • codestringnullable

    The TikTok Spark code the creator granted with; null for Meta and until granted.

  • authorizedAtstringnullable
  • expiresAtstringnullable
  • revokedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/ad-authorizations
write

Ask a submission's creator to authorize it as a TikTok Spark or Meta partnership ad

SDKlucra.adAuthorizations.create({ body })

Body

  • submissionsub_…required

    An approved submission of a creator.

  • platformenumrequired
    tiktokmeta
Response20114 fieldsShow
  • idadauth_…
  • submissionsub_…
  • creatorcrtr_…
  • accountacct_…

    The brand that asks.

  • brandNamestring
  • platformenum
    tiktokmeta
  • statusenum

    requested by the brand, granted by the creator, revoked by either; expired once `expiresAt` passes.

    requestedgrantedrevokedexpired
  • codestringnullable

    The TikTok Spark code the creator granted with; null for Meta and until granted.

  • authorizedAtstringnullable
  • expiresAtstringnullable
  • revokedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/ad-authorizations/:id
As creatorwrite

Grant an ad authorization as its creator, or revoke it

SDKlucra.adAuthorizations.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusenumrequired
    grantedrevoked
  • codestring

    With granted on TikTok: the Spark code the creator generated for the post.

  • expiresAtstring

    With granted: when the creator's authorization ends, as they set it on the platform.

  • versioninteger
Response20014 fieldsShow
  • idadauth_…
  • submissionsub_…
  • creatorcrtr_…
  • accountacct_…

    The brand that asks.

  • brandNamestring
  • platformenum
    tiktokmeta
  • statusenum

    requested by the brand, granted by the creator, revoked by either; expired once `expiresAt` passes.

    requestedgrantedrevokedexpired
  • codestringnullable

    The TikTok Spark code the creator granted with; null for Meta and until granted.

  • authorizedAtstringnullable
  • expiresAtstringnullable
  • revokedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Embeds

POST/v1/embeds
As creatorwrite

Open Lucra UI for a brand or creator, hosted or embedded

SDKlucra.embeds.create({ body })

Body

  • componentsenum[]required

    What the embed can show. programs, payments and ads are for brands; creator_programs and wallet are for creators; onboarding and messages are for either.

    onboardingcreator_programswalletprogramspaymentsadsmessages
  • openenum

    The component the hosted url opens; defaults to the first in components.

    onboardingcreator_programswalletprogramspaymentsadsmessages
  • providerenum

    With onboarding: the platform its connections step lists first.

    metatiktokgooglesnapchatshopifyinstagram
  • emailstring

    Prefill; defaults to the account's contact details.

  • phonestring
  • returnUrlstring

    Where the hosted page sends the person when they finish.

  • appearanceobject
    Show 3 child fields
    • themeenum
      lightdarkauto
    • colorsobject
      Show 1 child field
      • primarystringrequired
    • radiusinteger

      Corner radius in px.

Response2019 fieldsShow
  • idemb_…
  • accountstring

    The brand (acct_…) or creator (crtr_…) it shows.

  • componentsenum[]
    onboardingcreator_programswalletprogramspaymentsadsmessages
  • statusenum

    expired once expiresAt passes, or when you end it with PATCH.

    activeexpired
  • expiresAtstring

    When url and any mounted components stop working.

  • createdAtstring
  • urlstring

    The hosted page; send the person here. Lasts 24 hours.

  • clientSecretstring

    Pass to @lucra/sdk/embed in your frontend. Single use, from an allowed origin.

  • clientSecretExpiresAtstring

    Mount the components before this; about 10 minutes.

GET/v1/embeds
As creatorread

List the embeds you opened for a brand or creator

SDKlucra.embeds.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 6 fields each, and nextCursorShow
  • idemb_…
  • accountstring

    The brand (acct_…) or creator (crtr_…) it shows.

  • componentsenum[]
    onboardingcreator_programswalletprogramspaymentsadsmessages
  • statusenum

    expired once expiresAt passes, or when you end it with PATCH.

    activeexpired
  • expiresAtstring

    When url and any mounted components stop working.

  • createdAtstring
GET/v1/embeds/:id
As creatorread

Get an embed

SDKlucra.embeds.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response2006 fieldsShow
  • idemb_…
  • accountstring

    The brand (acct_…) or creator (crtr_…) it shows.

  • componentsenum[]
    onboardingcreator_programswalletprogramspaymentsadsmessages
  • statusenum

    expired once expiresAt passes, or when you end it with PATCH.

    activeexpired
  • expiresAtstring

    When url and any mounted components stop working.

  • createdAtstring
PATCH/v1/embeds/:id
As creatorwrite

End an embed early

SDKlucra.embeds.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusstringrequired

    Ends it now: the hosted url and mounted components stop working.

    expired
Response2006 fieldsShow
  • idemb_…
  • accountstring

    The brand (acct_…) or creator (crtr_…) it shows.

  • componentsenum[]
    onboardingcreator_programswalletprogramspaymentsadsmessages
  • statusenum

    expired once expiresAt passes, or when you end it with PATCH.

    activeexpired
  • expiresAtstring

    When url and any mounted components stop working.

  • createdAtstring

Products

GET/v1/products
As creatorread

List products; as a creator, the ones attached to the programs you're approved in, which you can ask a sample of

SDKlucra.products.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

Response200A page of items, 20 fields each, and nextCursorShow
  • idprod_…
  • accountacct_…

    The brand whose catalog it's in.

  • brandNamestring
  • namestring
  • vendorstringnullable
  • productTypestringnullable
  • descriptionstringnullable
  • skustringnullable
  • statusstringnullable

    active or archived; Shopify products can also be draft or unlisted.

  • urlstringnullable
  • imageUrlstringnullable
  • imagefile_…nullable
  • sampleEligibleboolean
  • accessCodestringnullable

    A masked summary of the code creators get instead of an order.

  • variantsobject[]
    Show 6 child fields
    • idstring

      The variant's ID in its store, as samples take it.

    • titlestring
    • optionstringnullable
    • priceintegernullable
    • skustringnullable
    • imageUrlstringnullable
  • currencystringnullable

    The currency of variant prices; null for manual products.

  • externalobjectnullable

    The store the product syncs from; null for products added in Lucra.

    Show 3 child fields
    • providerstring
      shopify
    • idstring
    • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/products
write

Add a product to the catalog

SDKlucra.products.create({ body })

Body

  • namestringrequired
  • productTypestring
  • urlstring
  • descriptionstring
  • skustring
  • imagefile_…
  • sampleEligibleboolean
  • accessCodestring
  • statusenum
    activearchived
Response20120 fieldsShow
  • idprod_…
  • accountacct_…

    The brand whose catalog it's in.

  • brandNamestring
  • namestring
  • vendorstringnullable
  • productTypestringnullable
  • descriptionstringnullable
  • skustringnullable
  • statusstringnullable

    active or archived; Shopify products can also be draft or unlisted.

  • urlstringnullable
  • imageUrlstringnullable
  • imagefile_…nullable
  • sampleEligibleboolean
  • accessCodestringnullable

    A masked summary of the code creators get instead of an order.

  • variantsobject[]
    Show 6 child fields
    • idstring

      The variant's ID in its store, as samples take it.

    • titlestring
    • optionstringnullable
    • priceintegernullable
    • skustringnullable
    • imageUrlstringnullable
  • currencystringnullable

    The currency of variant prices; null for manual products.

  • externalobjectnullable

    The store the product syncs from; null for products added in Lucra.

    Show 3 child fields
    • providerstring
      shopify
    • idstring
    • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/products/:id
As creatorread

Get a product

SDKlucra.products.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20020 fieldsShow
  • idprod_…
  • accountacct_…

    The brand whose catalog it's in.

  • brandNamestring
  • namestring
  • vendorstringnullable
  • productTypestringnullable
  • descriptionstringnullable
  • skustringnullable
  • statusstringnullable

    active or archived; Shopify products can also be draft or unlisted.

  • urlstringnullable
  • imageUrlstringnullable
  • imagefile_…nullable
  • sampleEligibleboolean
  • accessCodestringnullable

    A masked summary of the code creators get instead of an order.

  • variantsobject[]
    Show 6 child fields
    • idstring

      The variant's ID in its store, as samples take it.

    • titlestring
    • optionstringnullable
    • priceintegernullable
    • skustringnullable
    • imageUrlstringnullable
  • currencystringnullable

    The currency of variant prices; null for manual products.

  • externalobjectnullable

    The store the product syncs from; null for products added in Lucra.

    Show 3 child fields
    • providerstring
      shopify
    • idstring
    • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/products/:id
write

Edit, archive or set the access code of a product

SDKlucra.products.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • versioninteger
  • namestring
  • productTypestring
  • urlstringnullable
  • descriptionstringnullable
  • skustringnullable
  • imagefile_…nullable
  • sampleEligibleboolean
  • accessCodestringnullable
  • statusenum
    activearchived
Response20020 fieldsShow
  • idprod_…
  • accountacct_…

    The brand whose catalog it's in.

  • brandNamestring
  • namestring
  • vendorstringnullable
  • productTypestringnullable
  • descriptionstringnullable
  • skustringnullable
  • statusstringnullable

    active or archived; Shopify products can also be draft or unlisted.

  • urlstringnullable
  • imageUrlstringnullable
  • imagefile_…nullable
  • sampleEligibleboolean
  • accessCodestringnullable

    A masked summary of the code creators get instead of an order.

  • variantsobject[]
    Show 6 child fields
    • idstring

      The variant's ID in its store, as samples take it.

    • titlestring
    • optionstringnullable
    • priceintegernullable
    • skustringnullable
    • imageUrlstringnullable
  • currencystringnullable

    The currency of variant prices; null for manual products.

  • externalobjectnullable

    The store the product syncs from; null for products added in Lucra.

    Show 3 child fields
    • providerstring
      shopify
    • idstring
    • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Retainers

GET/v1/retainers
As creatorread

List retainers

SDKlucra.retainers.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • creatorcrtr_…
Response200A page of items, 19 fields each, and nextCursorShow
  • idret_…
  • creatorcrtr_…
  • accountacct_…

    The brand that offers the retainer.

  • brandNamestring
  • brandAvatarUrlstringnullable
  • payobject
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • summarystring
  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    draftofferedacceptedactivecancelingendedrejected
  • billingStatusstring
  • currentPeriodEndAtstringnullable
  • deliverablesstringnullable
  • notesstringnullable
  • documentsany[]

    The agreements accepting accepts; `accepted` once the creator accepted that version with this brand.

  • offeredAtstring
  • acceptedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/retainers/:id
As creatorread

Get a retainer

SDKlucra.retainers.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20019 fieldsShow
  • idret_…
  • creatorcrtr_…
  • accountacct_…

    The brand that offers the retainer.

  • brandNamestring
  • brandAvatarUrlstringnullable
  • payobject
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • summarystring
  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    draftofferedacceptedactivecancelingendedrejected
  • billingStatusstring
  • currentPeriodEndAtstringnullable
  • deliverablesstringnullable
  • notesstringnullable
  • documentsany[]

    The agreements accepting accepts; `accepted` once the creator accepted that version with this brand.

  • offeredAtstring
  • acceptedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/retainers
write

Offer a creator a retainer

SDKlucra.retainers.create({ body })

Headers

  • Idempotency-Keystringrequired

    Unique to this write; resend it to retry safely.

Body

  • creatorcrtr_…required
  • payobjectrequired
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobjectrequired
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • deliverablesstring
  • notesstring
Response20119 fieldsShow
  • idret_…
  • creatorcrtr_…
  • accountacct_…

    The brand that offers the retainer.

  • brandNamestring
  • brandAvatarUrlstringnullable
  • payobject
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • summarystring
  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    draftofferedacceptedactivecancelingendedrejected
  • billingStatusstring
  • currentPeriodEndAtstringnullable
  • deliverablesstringnullable
  • notesstringnullable
  • documentsany[]

    The agreements accepting accepts; `accepted` once the creator accepted that version with this brand.

  • offeredAtstring
  • acceptedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/retainers/:id
As creatorwrite

Cancel a retainer, or, as the creator, accept or reject an offer or cancel

SDKlucra.retainers.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusenumrequired
    acceptedrejectedcanceling
  • versioninteger
Response20019 fieldsShow
  • idret_…
  • creatorcrtr_…
  • accountacct_…

    The brand that offers the retainer.

  • brandNamestring
  • brandAvatarUrlstringnullable
  • payobject
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • summarystring
  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • statusenum
    draftofferedacceptedactivecancelingendedrejected
  • billingStatusstring
  • currentPeriodEndAtstringnullable
  • deliverablesstringnullable
  • notesstringnullable
  • documentsany[]

    The agreements accepting accepts; `accepted` once the creator accepted that version with this brand.

  • offeredAtstring
  • acceptedAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Programs

GET/v1/programs
As creatorread

List programs: your own (archived ones only with status=archived), or with scope=network the open programs on the Lucra Network

SDKlucra.programs.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • scopestring

    The Lucra Network's open programs instead of your own.

    network
  • visibilityenum
    invitenetwork
  • statusenum
    draftopenpausedclosedarchived
Response200A page of items, 37 fields each, and nextCursorShow
  • idprog_…
  • accountacct_…

    The brand that runs the program.

  • brandNamestring

    The brand's display name. Network programs are seen by creators who can't read the brand's account.

  • brandAvatarUrlstringnullable

    A short-lived link to the brand's picture.

  • joinedCreatorCountinteger

    Creators approved to the program.

  • joinedCreatorsobject[]

    A preview of up to four live, joined creators. Only public profile names and pictures.

    Show 4 child fields
    • idcrtr_…
    • namestring
    • initialsstring
    • avatarUrlstringnullable
  • namestring
  • typeenum
    organicpaid_ads
  • statusenum
    draftopenpausedclosedarchived
  • visibilityenum

    invite: creators the brand invites; network: any creator can find it and apply.

    invitenetwork
  • briefstringnullable

    What creators read before applying.

  • platformsenum[]
    instagramtiktok
  • paidSocialPlatformsenum[]
    instagramtiktok
  • allowManualOrganicUploadboolean
  • allowPaidPromotionboolean
  • allowPaidSocialUploadsboolean
  • requireAdAuthorizationboolean

    Creators grant an ad authorization (a TikTok Spark code or a Meta partnership) before a submission runs as an ad.

  • submissionLimitsobject
    Show 4 child fields
    • modeenum
      limitedunlimited
    • maxnumber
    • concurrentModeenum
      limitedunlimited
    • concurrentMaxnumber
  • payobject

    What creators earn. A creator reading the program sees their own pay, with any terms the brand set for them.

    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • paySummarystring

    The pay in plain English, ready to show.

  • payVersioninteger

    The pay's version, bumped by each pay edit. Admitted creators move to it on their next action in the program; each application shows the version it's on.

  • payIssuesobject[]

    Ways the program's pay can't be paid as set, for the brand to fix; it keeps paying as it does until then. Empty when there are none, and on programs seen on the network.

    Show 3 child fields
    • codeenum
      pay_invalid_valuepay_cap_zeropay_cap_below_amountpay_cap_requiredpay_base_needs_periodpay_schedule_mismatchpay_duplicate_rulepay_scope_invalidpay_exceeds_budgetpay_primary_missingpay_primary_changedpay_program_unsupported
    • pathstring
    • messagestring
  • promotedobject
    Show 4 child fields
    • typeenumnullable
      appofferotherproductsite
    • namestringnullable
    • urlstringnullable
    • productsprod_…[]

      Catalog products, first one primary.

  • briefFilesobject[]
    Show 6 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • previewobjectnullable
      Show 3 child fields
      • urlstring
      • contentTypestringnullable
      • sizenumbernullable
  • referenceVideosobject[]
    Show 7 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • widthnumbernullable
    • heightnumbernullable
  • agreementsany[]

    The agreements applying accepts: each one's current version.

  • submissionAgreementsany[]

    The agreements submitting work to the program accepts.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • budgetobjectnullable

    The brand's own numbers; null on programs seen on the network.

    Show 3 child fields
    • amountnumbernullable

      The planned budget.

    • reservednumbernullable

      Funds held from the balance for the program's creators.

    • feeCapnumbernullable

      The most a paid-ads program's fees may take from the reserved funds; null until funds are reserved.

  • adSpendobjectnullable
    Show 2 child fields
    • totalnumber
    • byPlatformobject[]
      Show 2 child fields
      • platformstring
      • amountnumber
  • partnerApprovalobjectnullable
    Show 3 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requestedlaunched
    • notestringnullable
    • requestedAtstringnullable
  • createdByPartneracct_…nullable
  • startsAtstringnullable
  • endsAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/programs/:id
As creatorread

Get a program

SDKlucra.programs.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20037 fieldsShow
  • idprog_…
  • accountacct_…

    The brand that runs the program.

  • brandNamestring

    The brand's display name. Network programs are seen by creators who can't read the brand's account.

  • brandAvatarUrlstringnullable

    A short-lived link to the brand's picture.

  • joinedCreatorCountinteger

    Creators approved to the program.

  • joinedCreatorsobject[]

    A preview of up to four live, joined creators. Only public profile names and pictures.

    Show 4 child fields
    • idcrtr_…
    • namestring
    • initialsstring
    • avatarUrlstringnullable
  • namestring
  • typeenum
    organicpaid_ads
  • statusenum
    draftopenpausedclosedarchived
  • visibilityenum

    invite: creators the brand invites; network: any creator can find it and apply.

    invitenetwork
  • briefstringnullable

    What creators read before applying.

  • platformsenum[]
    instagramtiktok
  • paidSocialPlatformsenum[]
    instagramtiktok
  • allowManualOrganicUploadboolean
  • allowPaidPromotionboolean
  • allowPaidSocialUploadsboolean
  • requireAdAuthorizationboolean

    Creators grant an ad authorization (a TikTok Spark code or a Meta partnership) before a submission runs as an ad.

  • submissionLimitsobject
    Show 4 child fields
    • modeenum
      limitedunlimited
    • maxnumber
    • concurrentModeenum
      limitedunlimited
    • concurrentMaxnumber
  • payobject

    What creators earn. A creator reading the program sees their own pay, with any terms the brand set for them.

    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • paySummarystring

    The pay in plain English, ready to show.

  • payVersioninteger

    The pay's version, bumped by each pay edit. Admitted creators move to it on their next action in the program; each application shows the version it's on.

  • payIssuesobject[]

    Ways the program's pay can't be paid as set, for the brand to fix; it keeps paying as it does until then. Empty when there are none, and on programs seen on the network.

    Show 3 child fields
    • codeenum
      pay_invalid_valuepay_cap_zeropay_cap_below_amountpay_cap_requiredpay_base_needs_periodpay_schedule_mismatchpay_duplicate_rulepay_scope_invalidpay_exceeds_budgetpay_primary_missingpay_primary_changedpay_program_unsupported
    • pathstring
    • messagestring
  • promotedobject
    Show 4 child fields
    • typeenumnullable
      appofferotherproductsite
    • namestringnullable
    • urlstringnullable
    • productsprod_…[]

      Catalog products, first one primary.

  • briefFilesobject[]
    Show 6 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • previewobjectnullable
      Show 3 child fields
      • urlstring
      • contentTypestringnullable
      • sizenumbernullable
  • referenceVideosobject[]
    Show 7 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • widthnumbernullable
    • heightnumbernullable
  • agreementsany[]

    The agreements applying accepts: each one's current version.

  • submissionAgreementsany[]

    The agreements submitting work to the program accepts.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • budgetobjectnullable

    The brand's own numbers; null on programs seen on the network.

    Show 3 child fields
    • amountnumbernullable

      The planned budget.

    • reservednumbernullable

      Funds held from the balance for the program's creators.

    • feeCapnumbernullable

      The most a paid-ads program's fees may take from the reserved funds; null until funds are reserved.

  • adSpendobjectnullable
    Show 2 child fields
    • totalnumber
    • byPlatformobject[]
      Show 2 child fields
      • platformstring
      • amountnumber
  • partnerApprovalobjectnullable
    Show 3 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requestedlaunched
    • notestringnullable
    • requestedAtstringnullable
  • createdByPartneracct_…nullable
  • startsAtstringnullable
  • endsAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/programs
write

Create a program

SDKlucra.programs.create({ body })

Body

  • namestringrequired
  • typeenumrequired
    organicpaid_ads
  • visibilityenumrequired
    invitenetwork
  • briefstring
  • platformsenum[]
    instagramtiktok
  • paidSocialPlatformsenum[]
    instagramtiktok
  • allowManualOrganicUploadboolean
  • allowPaidPromotionboolean
  • allowPaidSocialUploadsboolean
  • requireAdAuthorizationboolean
  • submissionLimitsobject
    Show 4 child fields
    • modeenum
      limitedunlimited
    • maxinteger
    • concurrentModeenum
      limitedunlimited
    • concurrentMaxinteger
  • payobjectrequired
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobjectrequired
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • promotedobject
    Show 4 child fields
    • typeenum
      appofferotherproductsite
    • namestring
    • urlstring
    • productsprod_…[]
  • budgetobject
    Show 3 child fields
    • amountinteger
    • reservedinteger
    • feeCapinteger
  • briefFilesfile_…[]
  • referenceVideosfile_…[]
  • agreementsagr_…[]
Response20137 fieldsShow
  • idprog_…
  • accountacct_…

    The brand that runs the program.

  • brandNamestring

    The brand's display name. Network programs are seen by creators who can't read the brand's account.

  • brandAvatarUrlstringnullable

    A short-lived link to the brand's picture.

  • joinedCreatorCountinteger

    Creators approved to the program.

  • joinedCreatorsobject[]

    A preview of up to four live, joined creators. Only public profile names and pictures.

    Show 4 child fields
    • idcrtr_…
    • namestring
    • initialsstring
    • avatarUrlstringnullable
  • namestring
  • typeenum
    organicpaid_ads
  • statusenum
    draftopenpausedclosedarchived
  • visibilityenum

    invite: creators the brand invites; network: any creator can find it and apply.

    invitenetwork
  • briefstringnullable

    What creators read before applying.

  • platformsenum[]
    instagramtiktok
  • paidSocialPlatformsenum[]
    instagramtiktok
  • allowManualOrganicUploadboolean
  • allowPaidPromotionboolean
  • allowPaidSocialUploadsboolean
  • requireAdAuthorizationboolean

    Creators grant an ad authorization (a TikTok Spark code or a Meta partnership) before a submission runs as an ad.

  • submissionLimitsobject
    Show 4 child fields
    • modeenum
      limitedunlimited
    • maxnumber
    • concurrentModeenum
      limitedunlimited
    • concurrentMaxnumber
  • payobject

    What creators earn. A creator reading the program sees their own pay, with any terms the brand set for them.

    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • paySummarystring

    The pay in plain English, ready to show.

  • payVersioninteger

    The pay's version, bumped by each pay edit. Admitted creators move to it on their next action in the program; each application shows the version it's on.

  • payIssuesobject[]

    Ways the program's pay can't be paid as set, for the brand to fix; it keeps paying as it does until then. Empty when there are none, and on programs seen on the network.

    Show 3 child fields
    • codeenum
      pay_invalid_valuepay_cap_zeropay_cap_below_amountpay_cap_requiredpay_base_needs_periodpay_schedule_mismatchpay_duplicate_rulepay_scope_invalidpay_exceeds_budgetpay_primary_missingpay_primary_changedpay_program_unsupported
    • pathstring
    • messagestring
  • promotedobject
    Show 4 child fields
    • typeenumnullable
      appofferotherproductsite
    • namestringnullable
    • urlstringnullable
    • productsprod_…[]

      Catalog products, first one primary.

  • briefFilesobject[]
    Show 6 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • previewobjectnullable
      Show 3 child fields
      • urlstring
      • contentTypestringnullable
      • sizenumbernullable
  • referenceVideosobject[]
    Show 7 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • widthnumbernullable
    • heightnumbernullable
  • agreementsany[]

    The agreements applying accepts: each one's current version.

  • submissionAgreementsany[]

    The agreements submitting work to the program accepts.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • budgetobjectnullable

    The brand's own numbers; null on programs seen on the network.

    Show 3 child fields
    • amountnumbernullable

      The planned budget.

    • reservednumbernullable

      Funds held from the balance for the program's creators.

    • feeCapnumbernullable

      The most a paid-ads program's fees may take from the reserved funds; null until funds are reserved.

  • adSpendobjectnullable
    Show 2 child fields
    • totalnumber
    • byPlatformobject[]
      Show 2 child fields
      • platformstring
      • amountnumber
  • partnerApprovalobjectnullable
    Show 3 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requestedlaunched
    • notestringnullable
    • requestedAtstringnullable
  • createdByPartneracct_…nullable
  • startsAtstringnullable
  • endsAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/programs/:id
write

Update a program; every change in one request applies together, or none does

SDKlucra.programs.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • namestring
  • briefstring
  • statusenum
    draftopenpausedarchived
  • visibilityenum
    invitenetwork
  • submissionLimitsobject
    Show 4 child fields
    • modeenum
      limitedunlimited
    • maxinteger
    • concurrentModeenum
      limitedunlimited
    • concurrentMaxinteger
  • promotedobject

    Replaces the promoted catalog products, first one primary.

    Show 1 child field
    • productsprod_…[]required
  • briefFilesfile_…[]
  • referenceVideosfile_…[]
  • agreementsagr_…[]
  • payobject
    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobjectrequired
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • budgetobject
    Show 3 child fields
    • amountinteger
    • reservedinteger
    • feeCapinteger
  • versioninteger
Response20037 fieldsShow
  • idprog_…
  • accountacct_…

    The brand that runs the program.

  • brandNamestring

    The brand's display name. Network programs are seen by creators who can't read the brand's account.

  • brandAvatarUrlstringnullable

    A short-lived link to the brand's picture.

  • joinedCreatorCountinteger

    Creators approved to the program.

  • joinedCreatorsobject[]

    A preview of up to four live, joined creators. Only public profile names and pictures.

    Show 4 child fields
    • idcrtr_…
    • namestring
    • initialsstring
    • avatarUrlstringnullable
  • namestring
  • typeenum
    organicpaid_ads
  • statusenum
    draftopenpausedclosedarchived
  • visibilityenum

    invite: creators the brand invites; network: any creator can find it and apply.

    invitenetwork
  • briefstringnullable

    What creators read before applying.

  • platformsenum[]
    instagramtiktok
  • paidSocialPlatformsenum[]
    instagramtiktok
  • allowManualOrganicUploadboolean
  • allowPaidPromotionboolean
  • allowPaidSocialUploadsboolean
  • requireAdAuthorizationboolean

    Creators grant an ad authorization (a TikTok Spark code or a Meta partnership) before a submission runs as an ad.

  • submissionLimitsobject
    Show 4 child fields
    • modeenum
      limitedunlimited
    • maxnumber
    • concurrentModeenum
      limitedunlimited
    • concurrentMaxnumber
  • payobject

    What creators earn. A creator reading the program sees their own pay, with any terms the brand set for them.

    Show 5 child fields
    • rulesobject[]
    • baseinteger

      Guaranteed each period, in cents.

    • capintegernullable

      The most one creator is paid per period, in cents; null or left out for no cap.

    • scheduleobject
    • approvalenum

      automatic pays each period on its own; manual waits for the brand to approve the calculated amount.

      automaticmanual
  • paySummarystring

    The pay in plain English, ready to show.

  • payVersioninteger

    The pay's version, bumped by each pay edit. Admitted creators move to it on their next action in the program; each application shows the version it's on.

  • payIssuesobject[]

    Ways the program's pay can't be paid as set, for the brand to fix; it keeps paying as it does until then. Empty when there are none, and on programs seen on the network.

    Show 3 child fields
    • codeenum
      pay_invalid_valuepay_cap_zeropay_cap_below_amountpay_cap_requiredpay_base_needs_periodpay_schedule_mismatchpay_duplicate_rulepay_scope_invalidpay_exceeds_budgetpay_primary_missingpay_primary_changedpay_program_unsupported
    • pathstring
    • messagestring
  • promotedobject
    Show 4 child fields
    • typeenumnullable
      appofferotherproductsite
    • namestringnullable
    • urlstringnullable
    • productsprod_…[]

      Catalog products, first one primary.

  • briefFilesobject[]
    Show 6 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • previewobjectnullable
      Show 3 child fields
      • urlstring
      • contentTypestringnullable
      • sizenumbernullable
  • referenceVideosobject[]
    Show 7 child fields
    • filefile_…
    • fileNamestring
    • contentTypestring
    • sizenumber
    • urlstringnullable
    • widthnumbernullable
    • heightnumbernullable
  • agreementsany[]

    The agreements applying accepts: each one's current version.

  • submissionAgreementsany[]

    The agreements submitting work to the program accepts.

  • currencystring

    Lowercase ISO 4217 code, e.g. usd.

  • budgetobjectnullable

    The brand's own numbers; null on programs seen on the network.

    Show 3 child fields
    • amountnumbernullable

      The planned budget.

    • reservednumbernullable

      Funds held from the balance for the program's creators.

    • feeCapnumbernullable

      The most a paid-ads program's fees may take from the reserved funds; null until funds are reserved.

  • adSpendobjectnullable
    Show 2 child fields
    • totalnumber
    • byPlatformobject[]
      Show 2 child fields
      • platformstring
      • amountnumber
  • partnerApprovalobjectnullable
    Show 3 child fields
    • statusenum
      draftpendingapprovedrejectedchanges_requestedlaunched
    • notestringnullable
    • requestedAtstringnullable
  • createdByPartneracct_…nullable
  • startsAtstringnullable
  • endsAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Samples

GET/v1/samples
As creatorread

List samples

SDKlucra.samples.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • productprod_…
  • creatorcrtr_…
  • statusstring

    One or more, comma-separated: requested, approved, rejected, shipping, shipped, failed.

Response200A page of items, 13 fields each, and nextCursorShow
  • idsmpl_…
  • creatorcrtr_…nullable
  • productprod_…nullable
  • productNamestring

    The product's name when the sample was made, so it reads even if the product isn't one you can see.

  • variantobjectnullable
    Show 2 child fields
    • idstringnullable

      The store's variant ID; null for products added in Lucra.

    • titlestring
  • statusenum

    requested, then approved or rejected by the brand; shipping once an order or access code is being made, then shipped, or failed.

    requestedapprovedrejectedshippingshippedfailed
  • programprog_…nullable
  • notestringnullable

    The creator's note with a request.

  • decidedAtstringnullable
  • shipmentobjectnullable

    The order or access code that went out.

    Show 8 child fields
    • statusenum

      The store's own progress: pending, invoice_pending, order_created, access_code_ready or failed.

      pendinginvoice_pendingorder_createdaccess_code_readyfailed
    • methodenum
      orderaccess_code
    • quantitynumber
    • fulfillmentStatusstringnullable
    • accessCodestringnullable

      Masked, unless the creator reads the sample with expand=accessCode.

    • errorstringnullable
    • orderobjectnullable
      Show 4 child fields
      • idstringnullable
      • namestringnullable
      • draftIdstringnullable
      • shopDomainstring
    • trackingobjectnullable
      Show 3 child fields
      • companystringnullable
      • numberstring
      • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/samples
As creatorwrite

Request a sample as a creator, or send one to a creator as the brand

SDKlucra.samples.create({ body })
Response20113 fieldsShow
  • idsmpl_…
  • creatorcrtr_…nullable
  • productprod_…nullable
  • productNamestring

    The product's name when the sample was made, so it reads even if the product isn't one you can see.

  • variantobjectnullable
    Show 2 child fields
    • idstringnullable

      The store's variant ID; null for products added in Lucra.

    • titlestring
  • statusenum

    requested, then approved or rejected by the brand; shipping once an order or access code is being made, then shipped, or failed.

    requestedapprovedrejectedshippingshippedfailed
  • programprog_…nullable
  • notestringnullable

    The creator's note with a request.

  • decidedAtstringnullable
  • shipmentobjectnullable

    The order or access code that went out.

    Show 8 child fields
    • statusenum

      The store's own progress: pending, invoice_pending, order_created, access_code_ready or failed.

      pendinginvoice_pendingorder_createdaccess_code_readyfailed
    • methodenum
      orderaccess_code
    • quantitynumber
    • fulfillmentStatusstringnullable
    • accessCodestringnullable

      Masked, unless the creator reads the sample with expand=accessCode.

    • errorstringnullable
    • orderobjectnullable
      Show 4 child fields
      • idstringnullable
      • namestringnullable
      • draftIdstringnullable
      • shopDomainstring
    • trackingobjectnullable
      Show 3 child fields
      • companystringnullable
      • numberstring
      • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/samples/:id
As creatorread

Get a sample; its creator can reveal an access code with expand=accessCode

SDKlucra.samples.retrieve({ path: { id }, query })

Path parameters

  • idstringrequired

Query parameters

  • expandstring

    As the creator: `shipment.accessCode` whole instead of masked. Each reveal is logged.

    accessCode
Response20013 fieldsShow
  • idsmpl_…
  • creatorcrtr_…nullable
  • productprod_…nullable
  • productNamestring

    The product's name when the sample was made, so it reads even if the product isn't one you can see.

  • variantobjectnullable
    Show 2 child fields
    • idstringnullable

      The store's variant ID; null for products added in Lucra.

    • titlestring
  • statusenum

    requested, then approved or rejected by the brand; shipping once an order or access code is being made, then shipped, or failed.

    requestedapprovedrejectedshippingshippedfailed
  • programprog_…nullable
  • notestringnullable

    The creator's note with a request.

  • decidedAtstringnullable
  • shipmentobjectnullable

    The order or access code that went out.

    Show 8 child fields
    • statusenum

      The store's own progress: pending, invoice_pending, order_created, access_code_ready or failed.

      pendinginvoice_pendingorder_createdaccess_code_readyfailed
    • methodenum
      orderaccess_code
    • quantitynumber
    • fulfillmentStatusstringnullable
    • accessCodestringnullable

      Masked, unless the creator reads the sample with expand=accessCode.

    • errorstringnullable
    • orderobjectnullable
      Show 4 child fields
      • idstringnullable
      • namestringnullable
      • draftIdstringnullable
      • shopDomainstring
    • trackingobjectnullable
      Show 3 child fields
      • companystringnullable
      • numberstring
      • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/samples/:id
write

Approve or reject a sample request

SDKlucra.samples.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusenumrequired
    approvedrejected
  • versioninteger
Response20013 fieldsShow
  • idsmpl_…
  • creatorcrtr_…nullable
  • productprod_…nullable
  • productNamestring

    The product's name when the sample was made, so it reads even if the product isn't one you can see.

  • variantobjectnullable
    Show 2 child fields
    • idstringnullable

      The store's variant ID; null for products added in Lucra.

    • titlestring
  • statusenum

    requested, then approved or rejected by the brand; shipping once an order or access code is being made, then shipped, or failed.

    requestedapprovedrejectedshippingshippedfailed
  • programprog_…nullable
  • notestringnullable

    The creator's note with a request.

  • decidedAtstringnullable
  • shipmentobjectnullable

    The order or access code that went out.

    Show 8 child fields
    • statusenum

      The store's own progress: pending, invoice_pending, order_created, access_code_ready or failed.

      pendinginvoice_pendingorder_createdaccess_code_readyfailed
    • methodenum
      orderaccess_code
    • quantitynumber
    • fulfillmentStatusstringnullable
    • accessCodestringnullable

      Masked, unless the creator reads the sample with expand=accessCode.

    • errorstringnullable
    • orderobjectnullable
      Show 4 child fields
      • idstringnullable
      • namestringnullable
      • draftIdstringnullable
      • shopDomainstring
    • trackingobjectnullable
      Show 3 child fields
      • companystringnullable
      • numberstring
      • urlstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring

Submissions

GET/v1/submissions
As creatorread

List submissions

SDKlucra.submissions.list({ query })

Query parameters

  • limitinteger
  • cursorstring
  • createdAfterstring

    Only items created at or after this time.

  • createdBeforestring

    Only items created before this time.

  • programprog_…
  • creatorcrtr_…
  • statusstring

    One or more, comma-separated: pending, revision_requested, approved, live, rejected, measuring, withdrawn, archived.

Response200A page of items, 18 fields each, and nextCursorShow
  • idsub_…
  • typeenum

    post: the creator's published Instagram or TikTok post; video: an uploaded video.

    videopost
  • programprog_…nullable
  • creatorcrtr_…nullable
  • revisionOfsub_…nullable
  • statusenum

    A post measures its views first (measuring), then waits for review (pending). withdrawn: by the creator; archived: kept but hidden from lists unless `status=archived` is asked for.

    pendingrevision_requestedapprovedliverejectedmeasuringwithdrawnarchived
  • feedbackstringnullable

    The brand's note with its latest review, such as what to change in a revision.

  • shortIdstringnullable

    The short ID shown in the app and ad names.

  • submittedAtstringnullable
  • tagsstring[]
  • mediaobjectnullable
    Show 6 child fields
    • videoUrlstringnullable
    • thumbnailUrlstringnullable
    • durationSecondsnumbernullable
    • fileNamestringnullable
    • sizenumbernullable
    • contentTypestringnullable
  • platformPostobjectnullable

    The creator's published post this submission is, for a post.

    Show 9 child fields
    • idstringnullable

      The post's ID on its platform.

    • platformenum
      instagramtiktok
    • urlstringnullable
    • captionstringnullable
    • metricsobject
      Show 5 child fields
      • viewsnumbernullable
      • likesnumbernullable
      • commentsnumbernullable
      • sharesnumbernullable
      • savesnumbernullable
    • publishedAtstringnullable
    • paidViewsnumbernullable

      Views counted toward pay once measurement ends.

    • measurementEndsAtstringnullable
    • paymentApprovedAtstringnullable
  • transcriptobjectnullable
    Show 2 child fields
    • statusenum
      completedfailedpendingskippedunsupported
    • textstringnullable
  • adsobjectnullable
    Show 4 child fields
    • identityenumnullable
      creatorbrand
    • launchedOnstring[]
    • ownershipstringnullable
    • programTypestringnullable
  • adAuthorizationobjectnullable

    The newest ad authorization asked for it (GET /v1/ad-authorizations).

    Show 5 child fields
    • idadauth_…
    • platformenum
      tiktokmeta
    • statusenum
      requestedgrantedrevokedexpired
    • authorizedAtstringnullable
    • expiresAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
GET/v1/submissions/:id
As creatorread

Get a submission

SDKlucra.submissions.retrieve({ path: { id } })

Path parameters

  • idstringrequired
Response20018 fieldsShow
  • idsub_…
  • typeenum

    post: the creator's published Instagram or TikTok post; video: an uploaded video.

    videopost
  • programprog_…nullable
  • creatorcrtr_…nullable
  • revisionOfsub_…nullable
  • statusenum

    A post measures its views first (measuring), then waits for review (pending). withdrawn: by the creator; archived: kept but hidden from lists unless `status=archived` is asked for.

    pendingrevision_requestedapprovedliverejectedmeasuringwithdrawnarchived
  • feedbackstringnullable

    The brand's note with its latest review, such as what to change in a revision.

  • shortIdstringnullable

    The short ID shown in the app and ad names.

  • submittedAtstringnullable
  • tagsstring[]
  • mediaobjectnullable
    Show 6 child fields
    • videoUrlstringnullable
    • thumbnailUrlstringnullable
    • durationSecondsnumbernullable
    • fileNamestringnullable
    • sizenumbernullable
    • contentTypestringnullable
  • platformPostobjectnullable

    The creator's published post this submission is, for a post.

    Show 9 child fields
    • idstringnullable

      The post's ID on its platform.

    • platformenum
      instagramtiktok
    • urlstringnullable
    • captionstringnullable
    • metricsobject
      Show 5 child fields
      • viewsnumbernullable
      • likesnumbernullable
      • commentsnumbernullable
      • sharesnumbernullable
      • savesnumbernullable
    • publishedAtstringnullable
    • paidViewsnumbernullable

      Views counted toward pay once measurement ends.

    • measurementEndsAtstringnullable
    • paymentApprovedAtstringnullable
  • transcriptobjectnullable
    Show 2 child fields
    • statusenum
      completedfailedpendingskippedunsupported
    • textstringnullable
  • adsobjectnullable
    Show 4 child fields
    • identityenumnullable
      creatorbrand
    • launchedOnstring[]
    • ownershipstringnullable
    • programTypestringnullable
  • adAuthorizationobjectnullable

    The newest ad authorization asked for it (GET /v1/ad-authorizations).

    Show 5 child fields
    • idadauth_…
    • platformenum
      tiktokmeta
    • statusenum
      requestedgrantedrevokedexpired
    • authorizedAtstringnullable
    • expiresAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
POST/v1/submissions
As creatorwrite

Submit work as a creator, or add a brand's own video to its library

SDKlucra.submissions.create({ body })

Body

  • programprog_…

    The program the work is for; required for a creator.

  • filefile_…required
  • notestring
  • postUrlstring

    The URL of the creator's published Instagram or TikTok post this video is; organic programs pay on its views.

  • revisionOfsub_…
  • attestationobject

    The creator's content-compliance confirmations.

    Show 4 child fields
    • disclosureIncludedbooleanrequired
    • experienceTruthfulbooleanrequired
    • noUnapprovedClaimsbooleanrequired
    • acceptedAgreementsobject[]

      The agreement versions the creator accepted by submitting; refused with 409 agreements_changed if the program now requires others.

      Show 2 child fields
      • agreementagr_…required
      • versionintegerrequired
  • namestring

    A brand library video's title; defaults to its file name.

Response20118 fieldsShow
  • idsub_…
  • typeenum

    post: the creator's published Instagram or TikTok post; video: an uploaded video.

    videopost
  • programprog_…nullable
  • creatorcrtr_…nullable
  • revisionOfsub_…nullable
  • statusenum

    A post measures its views first (measuring), then waits for review (pending). withdrawn: by the creator; archived: kept but hidden from lists unless `status=archived` is asked for.

    pendingrevision_requestedapprovedliverejectedmeasuringwithdrawnarchived
  • feedbackstringnullable

    The brand's note with its latest review, such as what to change in a revision.

  • shortIdstringnullable

    The short ID shown in the app and ad names.

  • submittedAtstringnullable
  • tagsstring[]
  • mediaobjectnullable
    Show 6 child fields
    • videoUrlstringnullable
    • thumbnailUrlstringnullable
    • durationSecondsnumbernullable
    • fileNamestringnullable
    • sizenumbernullable
    • contentTypestringnullable
  • platformPostobjectnullable

    The creator's published post this submission is, for a post.

    Show 9 child fields
    • idstringnullable

      The post's ID on its platform.

    • platformenum
      instagramtiktok
    • urlstringnullable
    • captionstringnullable
    • metricsobject
      Show 5 child fields
      • viewsnumbernullable
      • likesnumbernullable
      • commentsnumbernullable
      • sharesnumbernullable
      • savesnumbernullable
    • publishedAtstringnullable
    • paidViewsnumbernullable

      Views counted toward pay once measurement ends.

    • measurementEndsAtstringnullable
    • paymentApprovedAtstringnullable
  • transcriptobjectnullable
    Show 2 child fields
    • statusenum
      completedfailedpendingskippedunsupported
    • textstringnullable
  • adsobjectnullable
    Show 4 child fields
    • identityenumnullable
      creatorbrand
    • launchedOnstring[]
    • ownershipstringnullable
    • programTypestringnullable
  • adAuthorizationobjectnullable

    The newest ad authorization asked for it (GET /v1/ad-authorizations).

    Show 5 child fields
    • idadauth_…
    • platformenum
      tiktokmeta
    • statusenum
      requestedgrantedrevokedexpired
    • authorizedAtstringnullable
    • expiresAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring
PATCH/v1/submissions/:id
As creatorwrite

Review, tag, file or archive a submission, or approve paying for a post; as its creator, withdraw it

SDKlucra.submissions.update({ path: { id }, body })

Path parameters

  • idstringrequired

Body

  • statusenum

    A post in an organic program is approved (paid on its measured views) or rejected; archived hides a rejected or withdrawn submission from lists (it stays readable, and lists with `status=archived`); a creator sends withdrawn.

    pendingapprovedrejectedrevision_requestedwithdrawnarchived
  • notestring

    Shown to the creator with a revision request or rejection.

  • tagsstring[]
  • paymentstring

    For an approved post: approves paying the creator its finalized earnings (the brand's owner, admin or own key).

    approved
  • versioninteger
Response20018 fieldsShow
  • idsub_…
  • typeenum

    post: the creator's published Instagram or TikTok post; video: an uploaded video.

    videopost
  • programprog_…nullable
  • creatorcrtr_…nullable
  • revisionOfsub_…nullable
  • statusenum

    A post measures its views first (measuring), then waits for review (pending). withdrawn: by the creator; archived: kept but hidden from lists unless `status=archived` is asked for.

    pendingrevision_requestedapprovedliverejectedmeasuringwithdrawnarchived
  • feedbackstringnullable

    The brand's note with its latest review, such as what to change in a revision.

  • shortIdstringnullable

    The short ID shown in the app and ad names.

  • submittedAtstringnullable
  • tagsstring[]
  • mediaobjectnullable
    Show 6 child fields
    • videoUrlstringnullable
    • thumbnailUrlstringnullable
    • durationSecondsnumbernullable
    • fileNamestringnullable
    • sizenumbernullable
    • contentTypestringnullable
  • platformPostobjectnullable

    The creator's published post this submission is, for a post.

    Show 9 child fields
    • idstringnullable

      The post's ID on its platform.

    • platformenum
      instagramtiktok
    • urlstringnullable
    • captionstringnullable
    • metricsobject
      Show 5 child fields
      • viewsnumbernullable
      • likesnumbernullable
      • commentsnumbernullable
      • sharesnumbernullable
      • savesnumbernullable
    • publishedAtstringnullable
    • paidViewsnumbernullable

      Views counted toward pay once measurement ends.

    • measurementEndsAtstringnullable
    • paymentApprovedAtstringnullable
  • transcriptobjectnullable
    Show 2 child fields
    • statusenum
      completedfailedpendingskippedunsupported
    • textstringnullable
  • adsobjectnullable
    Show 4 child fields
    • identityenumnullable
      creatorbrand
    • launchedOnstring[]
    • ownershipstringnullable
    • programTypestringnullable
  • adAuthorizationobjectnullable

    The newest ad authorization asked for it (GET /v1/ad-authorizations).

    Show 5 child fields
    • idadauth_…
    • platformenum
      tiktokmeta
    • statusenum
      requestedgrantedrevokedexpired
    • authorizedAtstringnullable
    • expiresAtstringnullable
  • versioninteger

    Send it back on PATCH to reject edits based on a stale read.

  • createdAtstring
  • updatedAtstring