# All endpoints

> Every endpoint and field.

Source: https://www.onlucra.com/docs/api-reference

## Account

- `GET /v1/account` (read, SDK `lucra.account.retrieve`): Get the key's own account
- `PATCH /v1/account` (write, SDK `lucra.account.update`): Update the key's own account

## Analytics

- `GET /v1/analytics` (read, SDK `lucra.analytics.retrieve`): Get daily ad results, or creators' organic results, optionally filtered and split by campaign, submission, creator, ad or platform; as a creator, your own work's ad results across brands

## Applications

- `GET /v1/applications` (read, SDK `lucra.applications.list`): List applications
- `GET /v1/applications/:id` (read, SDK `lucra.applications.retrieve`): Get an application
- `POST /v1/applications` (write, SDK `lucra.applications.create`): Invite a creator to a program, or apply as one
- `PATCH /v1/applications/:id` (write, SDK `lucra.applications.update`): Approve, reject or reopen an application, or set the creator's pay; as the creator, withdraw it or accept an invitation (approved)

## Balance

- `GET /v1/balance` (read, SDK `lucra.balance.retrieve`): Get the balance: the account's commissions, or a creator's earnings
- `GET /v1/balance/tax` (read, SDK `lucra.balance.tax.retrieve`): Get US tax reporting: whether a taxpayer ID is on file, and what Lucra paid each year
- `GET /v1/balance/transactions` (read, SDK `lucra.balance.transactions.list`): List every ledger line on the account

## Brands

- `GET /v1/brands` (read, SDK `lucra.brands.list`): List the brands this key reaches, and a partner's brands whose relationship ended
- `GET /v1/brands/:id` (read, SDK `lucra.brands.retrieve`): Get a brand
- `POST /v1/brands` (write, SDK `lucra.brands.create`): Create a brand a partner manages
- `PATCH /v1/brands/:id` (write, SDK `lucra.brands.update`): Update a brand a partner manages

## Campaigns

- `POST /v1/campaigns` (write, SDK `lucra.campaigns.create`): Create and launch a campaign
- `POST /v1/campaigns/:id/copies` (write, SDK `lucra.campaigns.copies.create`): Copy a campaign with its ad sets and ads, as a new campaign
- `GET /v1/campaigns` (read, SDK `lucra.campaigns.list`): List campaigns
- `GET /v1/campaigns/:id` (read, SDK `lucra.campaigns.retrieve`): Get a campaign
- `PATCH /v1/campaigns/:id` (write, SDK `lucra.campaigns.update`): Change a campaign, its ad sets' budgets, or its status: launch, pause, resume, retry or archive

## Ad fields

- `GET /v1/ad-fields` (read, SDK `lucra.adFields.list`): List the settings each ad platform takes for campaigns, ad sets and ads

## Ad defaults

- `GET /v1/ad-defaults` (read, SDK `lucra.adDefaults.retrieve`): Get what the account's new campaigns start with
- `PATCH /v1/ad-defaults` (write, SDK `lucra.adDefaults.update`): Change what the account's new campaigns start with

## Ad templates

- `GET /v1/ad-templates` (read, SDK `lucra.adTemplates.list`): List the account's ad templates, oldest first
- `POST /v1/ad-templates` (write, SDK `lucra.adTemplates.create`): Save an ad template: copy, link, call to action and tracking for each ad platform
- `GET /v1/ad-templates/:id` (read, SDK `lucra.adTemplates.retrieve`): Get an ad template
- `PATCH /v1/ad-templates/:id` (write, SDK `lucra.adTemplates.update`): Change an ad template, make it the default, or archive it; campaigns made from it keep what they copied

## Ad audiences

- `GET /v1/ad-audiences` (read, SDK `lucra.adAudiences.list`): List an ad account's saved audiences (Meta custom and lookalike audiences, TikTok audiences)

## Ad interests

- `GET /v1/ad-interests` (read, SDK `lucra.adInterests.list`): Search the interests an ad set can target on Meta or TikTok

## Ad sets

- `GET /v1/ad-sets` (read, SDK `lucra.adSets.list`): List ad sets (Meta ad sets, TikTok and Google ad groups, Snapchat ad squads)
- `GET /v1/ad-sets/:id` (read, SDK `lucra.adSets.retrieve`): Get an ad set
- `PATCH /v1/ad-sets/:id` (write, SDK `lucra.adSets.update`): Rename, pause, resume, archive or re-budget an ad set on its platform
- `POST /v1/ad-sets/:id/copies` (write, SDK `lucra.adSets.copies.create`): Copy an ad set (and run it paused) in its campaign or another one

## Ads

- `GET /v1/ads` (read, SDK `lucra.ads.list`): List ads: the ones Lucra launched, or with `source=external` the other ads in your connected ad accounts
- `GET /v1/ads/:id` (read, SDK `lucra.ads.retrieve`): Get an ad
- `PATCH /v1/ads/:id` (write, SDK `lucra.ads.update`): Rename, pause, resume or archive an ad on its platform
- `POST /v1/ads/:id/copies` (write, SDK `lucra.ads.copies.create`): Copy an ad (and run it paused) in its ad set or another one

## Connections

- `GET /v1/connections/:id` (read, SDK `lucra.connections.retrieve`): Get a connection
- `GET /v1/connections/:id/setup` (read, SDK `lucra.connections.setup.retrieve`): List an ad platform's accounts, pages and identities to pick from, and the ones picked
- `GET /v1/connections` (read, SDK `lucra.connections.list`): List connected ad platforms, Shopify and creator social accounts
- `POST /v1/connections/:id/syncs` (write, SDK `lucra.connections.syncs.create`): Sync a connected shop's catalog, or, as a creator, mirror a social account's posts now
- `POST /v1/connections` (write, SDK `lucra.connections.create`): Connect a platform, payouts or a card: returns the hosted page to send the person to
- `PATCH /v1/connections/:id` (write, SDK `lucra.connections.update`): Pick a brand's ad account, page and identity after signing in, or disconnect a connection
- `GET /v1/connections/:id/posts` (read, SDK `lucra.connections.posts.list`): List the posts Lucra mirrors from a creator's connected account, newest first
- `POST /v1/connections/:id/logos` (write, SDK `lucra.connections.logos.create`): Upload a square logo (PNG or JPEG, at least 128 × 128, up to 5 MB) to a Google Ads connection

## Creators

- `GET /v1/creators` (read, SDK `lucra.creators.list`): List the account's creators and, for a partner, its roster
- `GET /v1/creators/:id` (read, SDK `lucra.creators.retrieve`): Get one of the account's creators, or, as a creator, yourself
- `POST /v1/creators` (write, SDK `lucra.creators.create`): Add a creator to a partner's roster; one already on it is returned with 200, and one with a Lucra account is invited (status invited) until they accept
- `PATCH /v1/creators/:id` (write, SDK `lucra.creators.update`): Update a creator: a brand's labels and status, a partner's roster creator, or, as a creator, your own profile

## Files

- `POST /v1/files` (write, SDK `lucra.files.create`): Upload a file
- `GET /v1/files` (read, SDK `lucra.files.list`): List files
- `GET /v1/files/:id` (read, SDK `lucra.files.retrieve`): Get a file
- `PATCH /v1/files/:id` (write, SDK `lucra.files.update`): Finish or delete an upload

## Messages

- `GET /v1/messages` (read, SDK `lucra.messages.list`): List messages
- `POST /v1/messages` (write, SDK `lucra.messages.create`): Send a message
- `PATCH /v1/messages/:id` (write, SDK `lucra.messages.update`): Edit or delete a message the caller sent (at its version), react to a message, or report it; one change per request

## Payments

- `POST /v1/payments` (write, SDK `lucra.payments.create`): Pay a creator
- `GET /v1/payments` (read, SDK `lucra.payments.list`): List payments to creators
- `GET /v1/payments/:id` (read, SDK `lucra.payments.retrieve`): Get a payment to a creator
- `PATCH /v1/payments/:id` (write, SDK `lucra.payments.update`): Approve or dispute a payment to a creator

## Payouts

- `GET /v1/payouts/countries` (read, SDK `lucra.payouts.countries.retrieve`): The payout countries that can be chosen now: a creator's (Stripe Global Payouts' too while it's on), or this brand's or partner's
- `GET /v1/payouts` (read, SDK `lucra.payouts.list`): List payouts: to creators from this brand's earnings, received by this account, or (as a creator) the creator's own
- `GET /v1/payouts/:id` (read, SDK `lucra.payouts.retrieve`): Get a payout

## Earnings

- `GET /v1/earnings` (read, SDK `lucra.earnings.list`): List a creator's earnings
- `GET /v1/earnings/:id` (read, SDK `lucra.earnings.retrieve`): Get one of a creator's earnings

## Withdrawals

- `POST /v1/withdrawals` (write, SDK `lucra.withdrawals.create`): Withdraw from the balance to the bank account or debit card (not for Global Payouts creators, paid every Monday)
- `GET /v1/withdrawals` (read, SDK `lucra.withdrawals.list`): List withdrawals from the balance, or a Global Payouts creator's weekly payouts
- `GET /v1/withdrawals/:id` (read, SDK `lucra.withdrawals.retrieve`): Get a withdrawal

## Cities

- `GET /v1/cities` (read, SDK `lucra.cities.list`): Search cities by name, exact matches first

## Keys

- `GET /v1/keys/current` (read, SDK `lucra.keys.current.retrieve`): Get the calling key's webhook URL
- `PATCH /v1/keys/current` (write, SDK `lucra.keys.current.update`): Set or clear the calling key's webhook URL; setting one issues a new signing secret, in this response only

## Events

- `GET /v1/events` (read, SDK `lucra.events.list`): List the events sent to this key's webhook, newest first, to replay missed ones

## Agreements

- `GET /v1/agreements/acceptances` (read, SDK `lucra.agreements.acceptances.list`): List creators' acceptances of your agreements; as a creator, the ones you accepted and the ones waiting on you
- `GET /v1/agreements` (read, SDK `lucra.agreements.list`): List agreements
- `GET /v1/agreements/:id` (read, SDK `lucra.agreements.retrieve`): Get an agreement
- `GET /v1/agreements/:id/versions` (read, SDK `lucra.agreements.versions.list`): List an agreement's versions, newest first
- `GET /v1/agreements/:id/versions/:number` (read, SDK `lucra.agreements.versions.retrieve`): Get a version of an agreement by its number
- `POST /v1/agreements` (write, SDK `lucra.agreements.create`): Publish an agreement
- `POST /v1/agreements/:id/versions` (write, SDK `lucra.agreements.versions.create`): Publish a new version of an agreement
- `PATCH /v1/agreements/:id` (write, SDK `lucra.agreements.update`): Change where an agreement is required, or archive it

## Threads

- `GET /v1/threads` (read, SDK `lucra.threads.list`): List the conversations the account (or, acting as a creator, the creator) takes part in, most recently active first
- `POST /v1/threads` (write, SDK `lucra.threads.create`): Open a direct conversation with an account or creator you work with (an account can also message any creator it finds in the marketplace), a program's group chat or a Lucra Support thread; an existing one is returned
- `GET /v1/threads/:id` (read, SDK `lucra.threads.retrieve`): Get a conversation; its messages are GET /v1/messages?thread=

## Posts

- `GET /v1/posts` (read, SDK `lucra.posts.list`): List creators' posts in organic programs
- `GET /v1/posts/:id` (read, SDK `lucra.posts.retrieve`): Get a post with its claim evidence
- `PATCH /v1/posts/:id` (write, SDK `lucra.posts.update`): Tag or archive a post

## Ad authorizations

- `GET /v1/ad-authorizations` (read, SDK `lucra.adAuthorizations.list`): List ad authorizations: a brand's requests, or, as a creator, the ones asked of you
- `GET /v1/ad-authorizations/:id` (read, SDK `lucra.adAuthorizations.retrieve`): Get an ad authorization
- `POST /v1/ad-authorizations` (write, SDK `lucra.adAuthorizations.create`): Ask a submission's creator to authorize it as a Meta partnership ad, or an existing TikTok post's creator for a Spark code
- `PATCH /v1/ad-authorizations/:id` (write, SDK `lucra.adAuthorizations.update`): Grant an ad authorization as its creator (on TikTok, with the post's Spark code), or revoke it

## Pixels

- `POST /v1/pixels` (write, SDK `lucra.pixels.create`): Create a pixel
- `POST /v1/pixels/:id/events` (write, SDK `lucra.pixels.events.create`): Send a conversion from the brand's server; 202 once it's recorded for attribution
- `GET /v1/pixels` (read, SDK `lucra.pixels.list`): List pixels
- `GET /v1/pixels/:id` (read, SDK `lucra.pixels.retrieve`): Get a pixel and whether it's verified
- `PATCH /v1/pixels/:id` (write, SDK `lucra.pixels.update`): Rename a pixel, change its domains or excluded countries, or archive it

## Conversions

- `POST /v1/conversions` (write, SDK `lucra.conversions.create`): Create a conversion: the events that count as a sign-up, a purchase or your own goal
- `GET /v1/conversions` (read, SDK `lucra.conversions.list`): List conversions, newest first
- `GET /v1/conversions/:id` (read, SDK `lucra.conversions.retrieve`): Get a conversion and how many events counted as it
- `PATCH /v1/conversions/:id` (write, SDK `lucra.conversions.update`): Change a conversion or archive it; events already recorded keep counting as they did
- `GET /v1/conversions/:id/report` (read, SDK `lucra.conversions.report.retrieve`): Break a conversion down by creator, place, in-app browser, source or day, with counts and value

## Pixel events

- `GET /v1/pixel-events` (read, SDK `lucra.pixelEvents.list`): List the events your pixels received, newest first
- `GET /v1/pixel-events/:id` (read, SDK `lucra.pixelEvents.retrieve`): Get one pixel event, with what ad platforms' conversion APIs take

## Embeds

- `POST /v1/embeds` (write, SDK `lucra.embeds.create`): Open Lucra UI for a brand or creator, hosted or embedded
- `GET /v1/embeds` (read, SDK `lucra.embeds.list`): List the embeds you opened for a brand or creator
- `GET /v1/embeds/:id` (read, SDK `lucra.embeds.retrieve`): Get an embed
- `PATCH /v1/embeds/:id` (write, SDK `lucra.embeds.update`): End an embed early

## Products

- `GET /v1/products` (read, SDK `lucra.products.list`): List products; as a creator, the ones attached to the programs you're approved in, which you can ask a sample of
- `POST /v1/products` (write, SDK `lucra.products.create`): Add a product to the catalog
- `GET /v1/products/:id` (read, SDK `lucra.products.retrieve`): Get a product
- `PATCH /v1/products/:id` (write, SDK `lucra.products.update`): Edit, archive or set the access code of a product

## Retainers

- `GET /v1/retainers` (read, SDK `lucra.retainers.list`): List retainers
- `GET /v1/retainers/:id` (read, SDK `lucra.retainers.retrieve`): Get a retainer
- `POST /v1/retainers` (write, SDK `lucra.retainers.create`): Offer a creator a retainer
- `PATCH /v1/retainers/:id` (write, SDK `lucra.retainers.update`): Cancel a retainer, or, as the creator, accept or reject an offer or cancel

## Programs

- `GET /v1/programs` (read, SDK `lucra.programs.list`): List programs: your own (archived ones only with status=archived), or with scope=network the open programs on the Lucra Network
- `GET /v1/programs/:id` (read, SDK `lucra.programs.retrieve`): Get a program
- `POST /v1/programs` (write, SDK `lucra.programs.create`): Create a program
- `PATCH /v1/programs/:id` (write, SDK `lucra.programs.update`): Update a program; every change in one request applies together, or none does

## Samples

- `GET /v1/samples` (read, SDK `lucra.samples.list`): List samples
- `POST /v1/samples` (write, SDK `lucra.samples.create`): Request a sample as a creator, or send one to a creator as the brand
- `GET /v1/samples/:id` (read, SDK `lucra.samples.retrieve`): Get a sample; its creator can reveal an access code with expand=accessCode
- `PATCH /v1/samples/:id` (write, SDK `lucra.samples.update`): Approve or reject a sample request

## Submissions

- `GET /v1/submissions` (read, SDK `lucra.submissions.list`): List submissions
- `GET /v1/submissions/:id` (read, SDK `lucra.submissions.retrieve`): Get a submission
- `POST /v1/submissions` (write, SDK `lucra.submissions.create`): Submit work as a creator, or add a brand's own video, or an existing TikTok post to boost, to its library
- `PATCH /v1/submissions/:id` (write, SDK `lucra.submissions.update`): Review, tag, file or archive a submission, or approve paying for a post; as its creator, withdraw it
