CreateCollabSceneBody
Identify the uploader with exactly one of `uploaderAccountId` or `uploaderExternalUserId`: zero is `400` / `missing_field`, more than one is `400` / `invalid_field`. Both are values you already hold; no endpoint ever returns an Easy2257 user id, so there is nothing else to send. (A legacy `uploaderUserId` field exists for Easy2257-internal callers only and is not usable by partners.)
Properties
| Name | Type | Description |
|---|---|---|
| uploaderAccountId | string | The `accountId` Easy2257 issued when you provisioned the uploader's solo account. Send exactly one of `uploaderAccountId` or `uploaderExternalUserId`. Either must resolve to an active solo account und |
| uploaderExternalUserId | string | Your own user id for the uploader, exactly as you supplied it as `externalUserId` at provisioning. Alternative to `uploaderAccountId`; send one or the other, never both. |
| title | string | |
| shootDate | string | |
| performers | array | 1 to 10 performers, addresses unique within the request. Easy2257 emails each one a magic link. A performer who already has an active Easy2257 solo account signs and is done at no extra charge; so doe |
| uploaderAttestation | object | All four fields required. Capture them from a real click event in your UI: this is the producer attestation, and a synthesized one is worth nothing in an inspection. |
| callbackUrl | string | Required, and stored for your reference only. Scene events go to the endpoints registered in the partner portal. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/easy2257-com/json-schema/easy2257-com-create-collab-scene-body-schema.json",
"title": "CreateCollabSceneBody",
"description": "Identify the uploader with exactly one of `uploaderAccountId` or `uploaderExternalUserId`: zero is `400` / `missing_field`, more than one is `400` / `invalid_field`. Both are values you already hold; no endpoint ever returns an Easy2257 user id, so there is nothing else to send. (A legacy `uploaderUserId` field exists for Easy2257-internal callers only and is not usable by partners.)",
"x-generated": "2026-11-06",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/easy2257-com-openapi.yml#/components/schemas/CreateCollabSceneBody",
"type": "object",
"properties": {
"uploaderAccountId": {
"type": "string",
"description": "The `accountId` Easy2257 issued when you provisioned the uploader's solo account. Send exactly one of `uploaderAccountId` or `uploaderExternalUserId`. Either must resolve to an active solo account under your partner account, otherwise the call returns `400` with code `uploader_not_solo_active`."
},
"uploaderExternalUserId": {
"type": "string",
"description": "Your own user id for the uploader, exactly as you supplied it as `externalUserId` at provisioning. Alternative to `uploaderAccountId`; send one or the other, never both."
},
"title": {
"type": "string",
"maxLength": 500
},
"shootDate": {
"type": "string",
"format": "date-time"
},
"performers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
]
},
"minItems": 1,
"maxItems": 10,
"description": "1 to 10 performers, addresses unique within the request. Easy2257 emails each one a magic link. A performer who already has an active Easy2257 solo account signs and is done at no extra charge; so does returning collab talent whose approved ID check is from the last 12 months. Anyone else completes registration and ID verification inside the same link at 2500 cents, once per person. The response never says which path an individual performer is on."
},
"uploaderAttestation": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "Uploader's IP at the moment they clicked."
},
"ua": {
"type": "string"
},
"clickedAt": {
"type": "string",
"format": "date-time"
},
"attestationText": {
"type": "string",
"description": "The exact statement the uploader confirmed. Stored verbatim with IP and user agent as the 18 U.S.C. § 2257(b)(1) producer attestation."
}
},
"required": [
"ip",
"ua",
"clickedAt",
"attestationText"
],
"description": "All four fields required. Capture them from a real click event in your UI: this is the producer attestation, and a synthesized one is worth nothing in an inspection."
},
"callbackUrl": {
"type": "string",
"format": "uri",
"description": "Required, and stored for your reference only. Scene events go to the endpoints registered in the partner portal."
}
},
"required": [
"title",
"performers",
"uploaderAttestation",
"callbackUrl"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/easy2257-com-create-collab-scene-body"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.