Reference

Build on the Lucra API.

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

Programs

Programs, pay, and applications.

A program is a brief with pay terms. Creators join, submit work, and get paid on approval or performance.

Create

JSON
{
  "name": "Spring launch",
  "type": "organic",
  "visibility": "network",
  "brief": "Show the jacket on a real trail run.",
  "pay": {
    "rules": [{ "per": "view", "amount": 800, "unit": 1000 }],
    "cap": 50000,
    "schedule": { "after": "measurement", "days": 7 }
  },
  "promoted": { "products": ["prod_04bst9MGXqblfqHhbR1iGGL"] },
  "agreements": ["agr_0HxY6vD1bN4tK8qLm2Rz9sW"]
}
  • type is organic (paid on creators' posts) or paid_ads (paid on ads made from their work).
  • visibility is invite or network.
  • promoted.products are what creators can request samples of.
  • Creating one needs a payment method (409 requirement_payment_method).

PATCH changes anything; send status: "archived" to archive.

Pay

TypePaid per resultSchedule
paid_adsA percent of ad spend or revenue, or per leadAs results come in
organicPer 1,000 views, per postAfter a 1–30 day measurement

Add flat pay per approved submission, per install, or per click, under a cap. Pay that can't be paid as set returns 422 invalid_pay; see payments.

Changing a program's pay creates a new version. Creators already in it move to it on their next action in the program. PATCH /v1/applications/:id with pay sets one creator's pay.

Applications

A brand adds a creator with { "program", "creator" }: they join approved and are notified. A creator applies to a network program with { "program" }.

Agreements are accepted by the action itself: applying or joining accepts the program's agreements, which you show under the button ("By applying you agree to …"). There's no separate signing step. A creator added by a brand presses Join to accept them.

Review with status: approved, rejected, or pending to reopen.

Agreements

Publish a PDF with POST /v1/agreements, then list it on programs. GET /v1/agreements/acceptances lists who accepted what.

Posts

GET /v1/posts lists the creator posts your organic programs pay for, with views and earnings.

Endpoints

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
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
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
  • evidenceobject

    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
  • evidenceobject

    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
  • evidenceobject

    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/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, 35 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.

  • 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
    • statusstring
    • 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
Response20035 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.

  • 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
    • statusstring
    • 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_…[]
Response20135 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.

  • 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
    • statusstring
    • 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
Response20035 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.

  • 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
    • statusstring
    • notestringnullable
    • requestedAtstringnullable
  • createdByPartneracct_…nullable
  • startsAtstringnullable
  • endsAtstringnullable
  • versioninteger

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

  • createdAtstring
  • updatedAtstring