Create an upload link
Create a private link (with a QR code) the user opens on their phone or computer to add photos to a project, with no login. Use it when the user needs to send photos you can't receive directly, such as photos on their phone. Share the url, or show the QR code, and tell the user the link works for 2 hours. Photos appear in the project as they upload. To follow progress, call get_project and read upload_link.status and upload_link.photos_received until status is done (the user tapped Done), or simply ask the user to tell you when they've finished.
Requires a connection with edit access.
AuthorizationBearer <token>An API key from Settings → Developers (pp_live_…), or an OAuth access token.
project_id*stringThe project the photos go into.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidIdempotency-Key?stringA unique key (for example a UUID) that makes retries safe. A retry with the same key and body returns the stored response; the same key with a different body returns 422. Keys last 24 hours.
length <= 255Create an upload link
application/json- response
object*stringid*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidurl*stringShare this with the user. It opens a page that adds photos to the project, with no login. Treat it like a password.
uriqr_svg*stringThe same URL as a QR code (SVG markup), for scanning with a phone.
expires_at*string^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$date-timestatus*UploadLinkStatus"waiting""receiving""done""expired"photos_received*integermax_photos*integerHow many photos this link accepts (the project's free space).
project_id*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidcurl -X POST "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/upload-links"{ "object": "upload_link", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "http://example.com", "qr_svg": "string", "expires_at": "2019-08-24T14:15:22Z", "status": "waiting", "photos_received": 0, "max_photos": 0, "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"}