# Run as creator

> Run a creator's work from their own account on Instagram, TikTok, Snapchat and YouTube.

Source: https://www.onlucra.com/docs/run-as-creator

Run a creator's work as an ad from their own account: their name and picture on the ad, your brand as sponsor. It works the same way on every platform:

1. **You ask** with `POST /v1/ad-authorizations`, or, for a post that's already on TikTok or YouTube, by adding it to your library.
2. **The creator does one thing** on their platform. They get the request in Lucra, and a `requestUrl` works without a Lucra account.
3. **The platform confirms it.** The authorization turns `granted` and you get `ad_authorization.granted`.
4. **You run it.** Pick the creator or their post in a campaign.

## The one step on each platform

| Platform | What you ask for | What the creator does | How Lucra knows |
| --- | --- | --- | --- |
| Instagram (Meta) | One of their approved submissions | Approves your brand in Instagram (Professional dashboard › Partnership ads › Ad partners), then grants it in Lucra | Meta confirms the partnership |
| TikTok | A post already on TikTok, by its link | Sends the post's Spark code from the request link | Lucra checks the code with TikTok |
| TikTok, new videos | Nothing: joining a program that runs creator-identity ads asks for it | Approves your Business Center's ads-only request once, from the link on their program in Lucra | Lucra checks TikTok every hour |
| Snapchat ([beta](https://www.onlucra.com/docs/youtube-snapchat)) | One of their approved submissions, with their Snapchat username | Accepts your invite in Snapchat (Profile › Settings › Pending invitations) | Lucra checks Snapchat every hour |
| YouTube ([beta](https://www.onlucra.com/docs/youtube-snapchat)) | A video or Short already on YouTube, by its link | Approves your link in YouTube Studio (Google emails it to them) | Lucra checks Google every hour |

## Ask

On Instagram and Snapchat, ask for one of the creator's approved submissions. Snapchat also needs their username:

```json
{ "submission": "sub_14XA4WGiSOmaVI3B4QLm4Fs", "platform": "snapchat", "handle": "creator.handle" }
```

On TikTok and YouTube, add their post to your library with `POST /v1/submissions` on that platform's ad connection. Its authorization is created with it:

```json
{ "post": { "connection": "conn_02PEZI7pHWLT3UpakbRmfNB", "url": "https://www.youtube.com/shorts/aBcD3fGh1jK" } }
```

The submission's `adAuthorization` is the request. Send the creator its `requestUrl` if they aren't on Lucra. If a TikTok creator gives you the Spark code directly, add the post with `"code": "…"` and it's ready at once.

To run a creator's program videos under their TikTok account, nothing per video is needed: their whole account is approved to your Business Center once. Their application's `tiktokApproval` (on `GET /v1/applications`) shows where that stands, with the `url` they open while it's `pending`.

## Run it

- **Instagram:** a Meta campaign with `identity: "creator"` uses the granted submission.
- **TikTok and YouTube:** put the post's `sub_` ID in the campaign's `creatives`, on the same connection. A campaign runs either existing posts or uploaded videos. YouTube posts run in Google website campaigns.
- **Snapchat:** set the campaign's `settings.creator` to the authorization's `platformProfileId`. `settings.creator: null` runs the ads as your brand again.

Until the creator has done their step, a campaign that uses their work answers 409 or 422, saying what's missing.

## Renewals and revoking

Three days before a TikTok Spark code ends, Lucra asks the creator for a new one and sends `ad_authorization.requested`. Either side can revoke with `PATCH /v1/ad-authorizations/:id` and `{ "status": "revoked" }`. On Snapchat and YouTube, Lucra also revokes it if the creator ends the partnership or removes the link.

Existing posts never pay their creator through Lucra, since they aren't part of a program. Snapchat and YouTube are in [beta](https://www.onlucra.com/docs/youtube-snapchat), by approval only: ask your Lucra contact to turn them on for your account.

## Endpoints

- `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 creator to let you run their work under their identity: a submission on Meta or Snapchat, an existing TikTok post
- `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
