Reference
Every endpoint, grouped as in openapi.yaml. Each entry says what it does, which
credential and scope it needs, every parameter (where it goes, its type,
whether it is required, its allowed values, units and default), what comes back, an example request and response, and the
error codes it can answer. Paths are added to the base address https://www.recuromedia.com/api/1.0. The example responses are
real responses of our API (ids and names replaced); "...": "..." marks a place where we left fields out to keep
an example short.
Service, sign-in and account
Service
GET /healthTells you that the service is up, whether its database answers, which API version it runs, which optional features are switched on, and the website's addresses.GET /openapi.yamlDownloads the description of this API in the OpenAPI 3.1 format:
Sign-in
POST /auth/tokenGives you a new access token.POST /auth/logoutSigns out the sign-in whose access token you send:POST /auth/loginSigns a person in from one of our apps with their e-mail address and password, with the same rules and limits as the website's sign-in.POST /auth/login/2faFinishes a sign-in of an account with two-factor authentication:POST /auth/login/code"E-mail me a code instead":POST /auth/login/code/verifySigns the person in with the e-mailed sign-in code.POST /auth/signupCreates a new company account from one of our apps, with the website's rules.POST /auth/signup/verifyFinishes a sign-up (or the sign-in of an account whose address was not confirmed yet) with the e-mailed code:POST /auth/signup/resendSends a new code for a sign-up whose e-mail did not arrive.POST /auth/password/forgotE-mails a 6-digit code for a new password, when the address has an account.POST /auth/password/resetSets a new password with the e-mailed code.POST /auth/app-loginsStarts a browser sign-in, for accounts made with Google, Apple or Microsoft (they have no password).POST /auth/app-logins/{login_id}/tokenAsks whether the person has approved the browser sign-in yet, and collects the tokens once they have.DELETE /auth/app-logins/{login_id}Cancels a browser sign-in that is still waiting - the app's Cancel button.POST /auth/web-linksOpens a page of our website signed in, from an app the person is signed in to - the app's Top up..., Order history..., Account..., Open the Website, Connected Apps and Contact Support buttons, without a second sign-in.
Account
GET /meTells you who you are signed in as and what your account can do:GET /catalogueLists everything a job can be made of:POST /quotesTells you what a job would cost and whether it would start, without starting it.
Uploads, media and previews
Uploads
POST /uploadsOpens an upload:PUT /uploads/{upload_id}/chunks/{index}Sends one chunk of the file.GET /uploads/{upload_id}Shows an upload and which chunks are still missing.POST /uploads/{upload_id}/completeTells us that every chunk has arrived.DELETE /uploads/{upload_id}Gives up an upload:
Media
POST /media/importsMakes a media from a file that is on the internet already (your own storage, Dropbox, Google Drive) instead of uploading it from your computer.GET /mediaLists your media, newest first, a page at a time.GET /media/{media_id}Shows one media:GET /media/{media_id}/scenesLists the scenes the analysis found (a scene is a stretch of film between two cuts), with their first and last frame, start time, whether they are black-and-white or colour, and a sharpness score.GET /media/{media_id}/thumbnail.jpgGives you a still image (JPEG) of the media at a point in time - for a list or a preview picture in your own program.DELETE /media/{media_id}Deletes a media together with its previews and jobs, as the workspace does.
Previews
POST /media/{media_id}/previewsMakes a free before/after image of one frame of the media with the settings you are considering - so you can see the effect before you pay for a job.GET /previews/{preview_id}Shows a preview:GET /previews/{preview_id}/{which}.jpgDownloads one of the two images of a ready preview:DELETE /previews/{preview_id}Deletes a preview; one that is still being made is stopped.
Jobs and keyframes
Jobs
POST /jobsStarts a job:GET /jobs/{job_id}Shows one job:GET /jobsLists your jobs, newest first, a page at a time.POST /jobs/{job_id}/cancelStops a job that has not ended.DELETE /jobs/{job_id}Deletes a job:GET /jobs/{job_id}/resultDownloads the finished file of a completed job.POST /jobs/{job_id}/result-linksMakes a download address for the result that works without a key - for a colleague's browser, a media asset manager or a transcoder - until the time you choose.
Keyframes
GET /jobs/{job_id}/keyframesLists the colorized keyframes of a job that waits for your review, scene by scene, with the addresses of their images and your current choices.GET /jobs/{job_id}/keyframes/{frame}.{ext}Downloads the image of one keyframe as it will be used (its active version).GET /jobs/{job_id}/keyframes/{frame}/original.jpgDownloads the same frame before colorization - to show next to the keyframe as a before/after.PUT /jobs/{job_id}/keyframesSaves your choices for the keyframes:POST /jobs/{job_id}/keyframes/approveApproves the keyframes:POST /jobs/{job_id}/keyframes/{frame}/modifyHas one keyframe's colours changed as you describe them in a sentence, for example make all uniforms dark green.GET /jobs/{job_id}/keyframes/{frame}/modifyShows one keyframe with its colour versions and the state of its last change - poll it while a change runs.GET /jobs/{job_id}/keyframes/{frame}/versions/{version}.{ext}Downloads the image of one colour version of a keyframe - to show the versions side by side before you choose one.DELETE /jobs/{job_id}/keyframes/{frame}/versions/{version}Deletes one Modify try of a keyframe.
