Skip to main content

Schema

The Move API uses GraphQL schema to define the structure of queries, mutations, and types available in the API.

Query

List of available queries in Move API.

FieldArgumentTypeDescription
clientClient!

Returns the current client details.

getFileFile!

Get file details with given file id.

fileIdID!

Associated file id used to fetch the file details.

getJobJob!

Get job details from given job id.

jobIdID!

Associated job id used to fetch the job details.

getTakeTake!

Get a take with given id.

takeIdID!

Associated take id used to fetch the take details.

getVolumeVolume!

Get a volume with the given id.

idID!

Associated volume id used to fetch the volume details.

listCameraSettingsCameraSettingsPage

Get a list of camera settings

listJobsJobsPage

Get a list of jobs.

firstInt

First N jobs to fetch.

afterAWSJSON

Cursor to fetch jobs after.

sortDirectionSortDirection

Sort direction to sort the jobs (either ASC or DESC). Currently this only sorted by created datetime.

takeIdString

Filter jobs by take.

listRigsRigsPage

Get a list of all available rigs.

listTakesTakesPage

Get a list of takes.

firstInt

First N takes to fetch.

afterAWSJSON

Cursor to fetch takes after.

sortDirectionSortDirection

Sort direction to sort the takes (either ASC or DESC). Currently this only sorted by created datetime.

listVolumesVolumePage!

Get a list of volumes.

firstInt

First N jobs to fetch.

afterAWSJSON

Cursor to fetch jobs after.

sortDirectionSortDirection

Sort direction to sort the jobs (either ASC or DESC). Currently this only sorted by created datetime.

Mutation

List of available mutations in Move API.

FieldArgumentTypeDescription
createFileFile!

Create a file with given type (extension) of the file. For example: to create an mp4 file in the system, use createFile(type: 'mp4') mutation.

typeString!

Type (extension) of the file to be created.

metadataAWSJSON

Metadata to be associated with this file. This is optional.

nameString

Name of the file. This is optional.

createMultiCamJobJob!

Initialize processing a job to generate animation from a take.

clipWindowClipWindowInput

The clip window that should be processed. If not provided the entire source will be processed.

takeIdString!

Take id to be used. This is required to create a job. This is typically fetched from the output of createMultiCamTake mutation.

metadataAWSJSON

Metadata to be associated with this job. This is optional.

nameString

Name of the job. This is optional.

numberOfActorsInt

Number of actors in the take

optionsOptionsInput

Options for the job

outputs[OutputType]

Outputs to be generated for the job. This is optional, by default all output types are generated.

rigString

The name of the rig to use in this job. If not provided, the default rig will be used. This input is currently not supported and will be ignored.

createMultiCamTakeTake!

Create a take from an existing files for multiple cameras.

sources[SourceInput!]

Source of a take, this must be a video file.

syncMethodSyncMethodInput

Sync method for the take

metadataAWSJSON

Metadata to be associated with this take. This is optional.

nameString

Name of the take. This is optional.

volumeIdString!

Volume id

createSingleCamJobJob!

Initialize processing a job to generate animation from a take.

clipWindowClipWindowInput

The clip window that should be processed. If not provided the entire source will be processed.

takeIdString!

Take id to be used. This is required to create a job. This is typically fetched from the output of createSingleCamTake mutation.

metadataAWSJSON

Metadata to be associated with this job. This is optional.

nameString

Name of the job. This is optional.

optionsOptionsInput

Options for the job. trackFingers and floorPlane are turned on by default for createSingleCamJob.

outputs[OutputType]

Outputs to be generated for the job. This is optional, by default all output types are generated.

createSingleCamTakeTake!

Create take from a single camera.

sources[SourceInput!]

Source of a take, this must be a video file.

metadataAWSJSON

Metadata to be associated with this take. This is optional.

nameString

Name of the take. This is optional.

createVolumeWithHumanHumanVolume!

Create a volume using a human.

clipWindowClipWindowInput

The clip window that should be processed. If not provided the entire source will be processed.

sources[SourceInput!]

Source of a take, this can be either a video file or move file.

syncMethodSyncMethodInput

Sync method for the take

humanHeightFloat!

Human height in metres.

areaTypeAreaType!

Area type.

metadataAWSJSON

Metadata to be associated with this take. This is optional.

nameString

Name of the human volume. This is optional.

generateShareCodeShareCode!

Generate a share code for a job output. This is typically used to share the output of a job with other users (example: fbx and mp4 output files).

fileIdString!

File id to be used. This is required to generate a share code. This is typically fetched from Job.outputs.file.id.

updateClientClient!

Update client properties.

metadataAWSJSON!

Metadata to be associated with this client. This is required.

updateFileFile!

Update a file. Currently, only updating metadata for a file is supported.

idString!

Unique identifier for the file. This is required.

metadataAWSJSON

Metadata to be associated with this file. This is optional.

nameString

Update name of the file. This is optional.

updateJobJob!

Update a job. Currently, only updating metadata for a job is supported.

idString!

Unique identifier for the job. This is required.

metadataAWSJSON

Metadata to be associated with this job. This is optional.

nameString

Updated name of the job. This is optional.

updateTakeTake!

Update a take. Currently, only updating metadata for a take is supported.

idString!

Unique identifier for the take. This is required.

metadataAWSJSON

Metadata to be associated with this take. This is optional.

nameString

Updated name of the take. This is optional.

upsertWebhookEndpointWebhookEndpoint!

Perform an upsert operation on a webhook endpoint.

descriptionString

Description of the webhook endpoint. This is optional.

events[String!]

Events to be subscribed to. This is required to perform an upsert operation.

metadataAWSJSON

Metadata to be associated with this webhook endpoint. This is optional.

uidString!

Unique identifier for the webhook endpoint. This is required to perform an upsert operation.

urlString!

URL of the webhook endpoint. This is required to perform an upsert operation.

secretString

Secret to be used to sign the payload. This is optional.

Objects

AdditionalFile

An additional file which may be attached to the take

FieldArgumentTypeDescription
fileFile!

Reference to the additional file object

formatString

Type of additional file

keyString

Type of additional file

CameraSettings

The camera settings for the source

FieldArgumentTypeDescription
lensString!

The name of the lens that was used to create the capture inputs.

CameraSettingsPage

CameraSettings model connection. This connection will return a page of camera settings.

FieldArgumentTypeDescription
afterAWSJSON

Next page token

firstInt

Number of items on the single page

items[CameraSettings]

List of items on the current page

ClapWindow

The start and end time of the clap window that should be used for syncing sources. startTime should be before endTime

FieldArgumentTypeDescription
endTimeFloat!

The end time of the clap window that was used to sync the input sources.

startTimeFloat!

The start time of the clap window that was used to sync the input sources.

Client

Representation of a Client account.

FieldArgumentTypeDescription
createdAWSDateTime!

Datetime at which the Client was created.

idID!

Unique identifier for this client.

metadataAWSJSON

Metadata for the client to store any key value pairs - json validation done by AWS

nameString!

Name associated to this client.

portalAWSURL

Portal url associated to this client.

ClipWindowJobInputType

The return type for clip window.

FieldArgumentTypeDescription
endTimeFloat!

The end time of the clip window to be processed.

startTimeFloat!

The start time of the clip window to be processed.

File

Represents a File in Move API.

FieldArgumentTypeDescription
clientClient

Associated client account which created this file.

createdAWSDateTime

Datetime at which the file was created.

idID!

Unique identifier for a File.

metadataAWSJSON

Metadata for the client to store any key value pairs - json validation done by AWS

nameString

Name of the file.Returns null if no name present.

presignedUrlAWSURL

Url to upload/download the file. When creating a file, this attribute will return a upload url. Otherwise, this attribute will represent a download url.

thumbnailUrlAWSURL

The url of the thumbnail file. Returns null if no thumbnail present

typeString!

Type (extension) of a file. Example: mp4, mov, avi etc.

HumanVolume

Represents volumes for a multicam take A volume that was created using a human.

FieldArgumentTypeDescription
areaTypeAreaType

Area type of the volume.

clientClient!

Reference to the client owner of the volume.

clipWindowClipWindowJobInputType

The clip window used for this job.

createdAWSDateTime!

Datetime at which the volume was created

humanHeightFloat

Height of the human present in the volume.

idID!

Unique id of a volume. This is the volume job id.

metadataAWSJSON

Metadata for the client to store any key value pairs - json validation done by AWS.

nameString

Name of the human volume. Returns null if no name present.

outputs[AdditionalFile]

Outputs of this volume.

progressJobProgress

Progress information about this job.

sources[Source!]

Input source files required for creating HumanVolume, sources from at least two cameras are required.

stateJobState

Current status of the volume processing.

Job

Represents an animation job for a take

FieldArgumentTypeDescription
clientClient!

Client owner of this job

createdAWSDateTime

Datetime at which the job was created

idID!

Unique identifier for the job

inputsJobInputs

Inputs that were provided when creating this job

metadataAWSJSON

Metadata json field where the client can store any key value pair

nameString

Name of the job.Returns null if no name present.

outputs[AdditionalFile]

Outputs of this job

progressJobProgress

Progress information about this job

rigRig

Name of the rig to use. If not provided, the default rig will be used

stateString

DEPRECATED: Use progress.state. Current status of the job

takeTake

Reference to the original take

JobInputs

The return type for job inputs.

FieldArgumentTypeDescription
clipWindowClipWindowJobInputType

The clip window used for this job

numberOfActorsInt

Number of actors in the take

optionsOptionsInputType

The options used for this job.

JobProgress

The return type for the job progress.

FieldArgumentTypeDescription
percentageCompleteInt

The percentage complete of the job

stateString

The state of the job

JobsPage

Job model connection. This connection will return a page of jobs.

FieldArgumentTypeDescription
afterAWSJSON

Next page token

firstInt

Number of items on the single page

items[Job]

List of items on the current page

OptionsInputType

The return type for the provided job options.

FieldArgumentTypeDescription
floorPlaneBoolean

Floor Plane

mocapModelMocapModelOptionsInput

Mocap Model

trackBallBoolean

Track Ball

trackFingersBoolean

Track Fingers

trackJerseyNumbersBoolean

Track Jersey Numbers

Rig

Represents the rig details attached to a particular job.

FieldArgumentTypeDescription
nameString!

The name of the rig that was used to create the job.

RigsPage

Represents list of Rigs.

FieldArgumentTypeDescription
afterAWSJSON

Next page token

firstInt

Number of items on the single page

items[Rig]

List of items on the current page

ShareCode

Represents a ShareCode associated to a file in Move API. This is usually generated for a job output.

FieldArgumentTypeDescription
codeString!

Share code value.

createdAWSDateTime

Datetime at which the share code was created.

expiresAWSDateTime

The share code will expire at.

fileFile

File associated to the share code.

urlAWSURL

Encoded url with code to download the file.

Source

The source device, file and camera settings to use for a take.

FieldArgumentTypeDescription
cameraSettingsCameraSettings

Settings for the camera that was used to capture this source.

deviceLabelString!

A user defined label for the device this source input was captured on.

fileFile

Reference to the file object of this source.

formatSourceFormat

The file format of the source.

SyncMethod

The type of sync method. If not provided it is assumed that all source inputs are fully synced.

FieldArgumentTypeDescription
clapWindowClapWindow

The input sources were synced via a clap.

timecodeSyncTimeCodeSync

The input sources were synced via a timecode.

Take

Representation of a take

FieldArgumentTypeDescription
additionalFiles[AdditionalFile]

Optional additional files for this take

clientClient!

Reference to the client owner of the take

createdAWSDateTime!

Datetime string at which the take was created

idID!

Unique id of a take

metadataAWSJSON

Metadata for the client to store any key value pairs - json validation done by AWS

nameString

Name of the take. Returns null if no name present.

sources[Source]

Sources associated with the take.

syncMethodSyncMethod

The sync method for the input sources on this take. If not provided it is assumed that all source inputs are fully synced.

takeTypeTakeType

Type of the take (this can be either a multiple or singlecam take).

videoFileFile

Reference to the video file included with this take

volumeVolume

Volume associated with a multicam take.

TakesPage

Take model connection. This connection will return a page of takes.

FieldArgumentTypeDescription
afterAWSJSON

Next token (if any)

firstInt

Number of elements in a single page

items[Take]

List of takes in this page

TimeCodeSync

Are the source files synced via a timecode

FieldArgumentTypeDescription
useTimecodeBoolean!

The source inputs are timecode synced.

VolumePage

Volume model connection. This connection will return a page of volumes.

FieldArgumentTypeDescription
afterAWSJSON

Next page token

firstInt

Number of items on the single page

items[Volume]

List of items on the current page

WebhookEndpoint

Webhook endpoint represents a URL which will be called when an event occurs.

FieldArgumentTypeDescription
clientClient!

Associated client account which created this webhook endpoint.

descriptionString

Description of the webhook endpoint. This is optional.

events[String!]

Events to be subscribed to. This is required to perform an upsert operation.

metadataAWSJSON

Metadata to be associated with this webhook endpoint. This is optional.

secretString

Secret to be used to sign the payload. This is optional.

uidString!

Unique identifier for the webhook endpoint. This is required to perform an upsert operation.

urlString!

URL of the webhook endpoint. This is required to perform an upsert operation.

Inputs

CameraSettingsInput

The camera settings for the source input.

FieldTypeDescription
lensString!

The name of the lens that was used to create the capture inputs.

ClapWindowInput

The start and end time of the clap window that should be used for syncing sources. startTime should be before endTime

FieldTypeDescription
endTimeFloat!

The end time of the clap window that was used to sync the input sources.

startTimeFloat!

The start time of the clap window that was used to sync the input sources.

ClipWindowInput

The start and end time of the clip window that should be processed. startTime should be before endTime.

FieldTypeDescription
endTimeFloat!

The end time of the clip window to be processed.

startTimeFloat!

The start time of the clip window to be processed.

OptionsInput

Options input for a job

FieldTypeDescription
floorPlaneBoolean

Floor Plane

mocapModelMocapModelOptionsInput

Mocap Model

trackBallBoolean

Track Ball

trackFingersBoolean

Track Fingers

trackJerseyNumbersBoolean

Track Jersey Numbers

SourceInput

The source device, file and camera settings to use for a take.

FieldTypeDescription
cameraSettingsCameraSettingsInput

Settings for the camera that was used to capture this source.

deviceLabelString!

A user defined label for the device this source input was captured on.

fileIdString!

Reference to the file object of this source.

formatSourceFormat!

The file format of the source.

SyncMethodInput

The type of sync method. If not provided it is assumed that all source inputs are fully synced.

FieldTypeDescription
clapWindowClapWindowInput

The input sources were synced via a clap.

timecodeSyncTimeCodeSyncInput

The input sources were synced via a timecode.

TimeCodeSyncInput

Are the source files synced via a timecode

FieldTypeDescription
useTimecodeBoolean!

The source inputs are timecode synced.

Enums

AreaType

The area type of the capture

ValueDescription
LARGE

The area size was above 20 square metres.

NORMAL

The area size was below 20 square metres.

JobState

The status of the job.

ValueDescription
FAILED

The job has failed.

FINISHED

The job is finished.

NOT_STARTED

The job has not been started yet.

RUNNING

The job is currently running.

MocapModelOptionsInput

Represents all allowed mocap models for createSingleCamJob mutations. More information can be found at https://docs.move.ai/knowledge/2nd-generation-models.

ValueDescription
M1

m1 model

M2

m2 model

S1

s1 model

S2

s2 model

OutputType

Represents all allowed output types for both createSingleCamJob and createMultiCamJob mutations.

ValueDescription
ALL_BLEND

ZIP file containing blend files, one per actor.

ALL_BVH

ZIP file containing bvh files, one per actor.

ALL_C3D

ZIP file containing c3d files, one per actor.

ALL_FBX

ZIP file containing fbx files, one per actor.

ALL_GLB

ZIP file containing glb files, one per actor.

ALL_USDC

ZIP file containing usdc files, one per actor.

ALL_USDZ

ZIP file containing usdz files, one per actor.

MAIN_BLEND

Blend file containing the data for all actors that were tracked.

MAIN_FBX

FBX file containing the data for all actors that were tracked.

MAIN_GLB

GLB file containing the data for all actors that were tracked.

MAIN_USDC

USDC file containing the data for all actors that were tracked.

MAIN_USDZ

USDZ file containing the data for all actors that were tracked.

MOTION_DATA

ZIP file containing JSON files, one per actor.

RENDER_OVERLAY_VIDEO

Video render file that shows a preview of the mocap data with the input video overlayed (mp4). This is only used for single camera captures.

RENDER_VIDEO

Video render file that shows a preview of the mocap data (mp4).

SYNC_DATA

.pkl file containing timing information about the video offsets.

SortDirection

Sort direction enum.

ValueDescription
ASC

Ascending order.

DESC

Descending order.

SourceFormat

The format of the source.

ValueDescription
AVI

A source input with a .avi extension.

MOV

A source input with a .mov extension.

MOVE

A source input with a .move extension.

MP4

A source input with a .mp4 extension.

TakeType

The type of take (this can be either a single take or a multicam take).

ValueDescription
MULTI_CAM

A take that is captured with multiple cameras.

SINGLE_CAM

A take that is captured with a single camera.

Scalars

AWSDateTime

The AWSDateTime scalar type represents a valid extended ISO 8601 DateTime string. In other words, this scalar type accepts datetime strings of the form YYYY-MM-DDThh:mm:ss.sssZ. The field after the seconds field is a nanoseconds field. It can accept between 1 and 9 digits. The seconds and nanoseconds fields are optional (the seconds field must be specified if the nanoseconds field is to be used). The time zone offset is compulsory for this scalar. The time zone offset must either be Z (representing the UTC time zone) or be in the format ±hh:mm:ss. The seconds field in the timezone offset will be considered valid even though it is not part of the ISO 8601 standard.

AWSJSON

The AWSJSON scalar type represents a JSON string that complies with RFC 8259.

Maps like {"upvotes": 10}, lists like [1,2,3], and scalar values like "AWSJSON example string", 1, and true are accepted as valid JSON. They will automatically be parsed and loaded in the resolver mapping templates as Maps, Lists, or Scalar values rather than as the literal input strings. Invalid JSON strings like {a: 1}, {'a': 1} and Unquoted string will throw GraphQL validation errors.

AWSURL

The AWSURL scalar type represents a valid URL string. The URL may use any scheme and may also be a local URL (Ex: http://localhost/). URLs without schemes are considered invalid. URLs which contain double slashes are also considered invalid.

Boolean

The Boolean scalar type represents true or false.

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Interfaces

ClientOwner

Implement this interface if your schema has a client owner

FieldArgumentTypeDescription
clientClient

Reference to the associated Client owner.

Identifier

Implement this interface to add an identifier to your schema

FieldArgumentTypeDescription
idID

Unique identifier.

InternalFileSchema

Implement this interface to add internal file service structure to your schema

FieldArgumentTypeDescription
presignedUrlAWSURL

Url to upload/download the file. When creating a file, this attribute will return a upload url. Otherwise, this attribute will represent a download url.

typeString

Type (extension) of a file. Example: mp4, mov, avi etc.

Page

Implement this interface for your schema page

FieldArgumentTypeDescription
afterAWSJSON

Next token for the items to be fetched in the remaining pages.

firstInt

Items to fetch in a single page. Defaults to 50.

Timestamped

Implement this interface to make your schema timestampable

FieldArgumentTypeDescription
createdAWSDateTime

The child type should define this attribute.

Unions

Volume

A volume used in a multicam take will be one of these types.

TypeDescription
HumanVolumeRepresents volumes for a multicam take A volume that was created using a human.

Next steps