​GraphQL Schemas Guideline​
type Mutation {launchTextProject(input: LaunchTextProjectInput!): Project!createGuideline(input: GuidelineInput!): Guideline!}​type Query {getAllTeams: [Team!]!exportTextProject(input: ExportTextProjectInput!): ExportRequestRedirectResult!exportTextProjectDocument(input: ExportTextProjectDocumentInput!): ExportRequestRedirectResult!}​input LaunchTextProjectInput {"Specify teamId when you want to create project on a team. Do not specify teamId when you want to create a Personal Project."teamId: ID"Optional. This works for Team Project."assignees: [ProjectAssignmentByNameInput!]name: String!"Use DOC when you want to create Doc Based Labeling or [any project template](https://datasaurai.gitbook.io/datasaur/creating-a-project/project-types)"type: TextDocumentTypedueDate: String"Optional. LabelSetId for Token Based Labeling. You can provide labelSetId when creating project or you can create LabelSet after the project is created."labelSetId: IDprojectCreationId: StringprojectSettings: ProjectSettingsInputdocumentSettings: TextDocumentSettingsInput!documents: [CreateTextDocumentInput!]}​input ProjectAssignmentByNameInput {"We only require one between teamMemberId and email. Use teamMember query to retrieve the teamMemberId."teamMemberId: ID"We only require one between teamMemberId and email. Use email for simplicity."email: String"Document's name to be assigned."documentNames: [String!]}​enum GqlExportMethod {"Send the download link to custom webhook."CUSTOM_WEBHOOK"Download the file directly."DOWNLOAD"Send the download link to creator email.""Return file url."FILE_STORAGE}​input ExportTextProjectInput {projectIds: [String!]!"Export project based on specified Role."role: Role!"See [this documentation](https://datasaurai.gitbook.io/datasaur/export-project/export-formats) for further information."format: String!fileName: String!method: GqlExportMethod!"Optional. Use this field when you choose method CUSTOM_WEBHOOK."url: String"Optional. Use this field when you choose method CUSTOM_WEBHOOK."secret: String}​input ExportTextProjectDocumentInput {documentId: String!"See [this documentation](https://datasaurai.gitbook.io/datasaur/export-project/export-formats) for further information."format: String!fileName: String!method: GqlExportMethod!"Optional. Use this field when you choose method CUSTOM_WEBHOOK."url: String"Optional. Use this field when you choose method CUSTOM_WEBHOOK."secret: String}​type ExportRequestRedirectResult {"You should use this redirect url if you use method DOWNLOAD."redirect: Stringqueued: BooleanfileUrl: StringfileUrlExpiredAt: String}​input ProjectSettingsInput {"Labelers will be restricted from adding or removing labels from the label set while labeling."enableEditLabelSet: Boolean"Labelers will be able to edit the original text while labeling."enableEditSentence: Boolean"Peer review / labeler consensus. It determines how many consensus so that the label will be automatically accepted."consensus: Int}​input TextDocumentSettingsInput {"It determines how many token that can be covered by one label."textLabelMaxTokenLength: Int"Optional. Every token must have at least one label in Token Based Labeling."allTokensMustBeLabeled: BooleanautoScrollWhenLabeling: Boolean"Optional. Allow arrows to be drawn between labels in Token Based Labeling."allowArcDrawing: Boolean"Optional. Tokens and token spans should have at most one label. There can be no duplicate labels on a single token or token span."allowMultiLabels: Booleankind: TextDocumentKind!"Only works for Token Based Labeling. Possible values are `\n` and `.`"sentenceSeparator: String"Only works for Row Based Labeling, It determines how many rows displayed in the editor. Use -1 for show all rows at once."displayedRows: Int"Only works for Row Based Labeling."mediaDisplayStrategy: MediaDisplayStrategy}​"See [this documentation](https://datasaurai.gitbook.io/datasaur/creating-a-project#task-types)."enum TextDocumentKind {TOKEN_BASEDROW_BASEDDOCUMENT_BASED}​"It determines how media displayed in editor."enum MediaDisplayStrategy {"Media will be not rendered."NONE,"Media will be rendered as thumbnail."THUMBNAIL,"Media will be rendered with its original size."FULL}​input DocFileOptionsInput {"Override column headers by using these values."customHeaderColumns: [String!]"If the csv or xlsx file has header as the first row. Datasaur will use it as the column header for Row Based Labeling."firstRowAsHeader: Boolean}​input CreateTextDocumentInput {"Document Name. It affects the document title section."name: String"File Name. It affects the File Extension and exported file."fileName: String!"Specify fileUrl if you want to label document from external datasaur without uploading the content."fileUrl: Stringsettings: SettingsInput"Optional. It uses the same type as in LaunchTextProjectInput."type: TextDocumentType"Specify file if you want to upload file. Datasaur only process one between file and fileUrl."file: Upload"Only used in Row Based Labeling and Document Based Labeling."docFileOptions: DocFileOptionsInputquestionFile: UploadquestionFileName: String}​input SettingsInput {"Optional. Default is `en`."textLang: StringlabelSetID: ID"If You don't want to create a new guideline please provide existing Guideline ID"guidelineID: ID"Optional. Default is 60 second."autoSavePeriod: Int"Optional. Default is 5 lines."numberOfLinesDisplayed: Int"Required for Row Based Labeling and Document Based Labeling."questions: [QuestionInput]}​​input QuestionInput {"Only for update."id: Int"Set to true to delete the question when updating the document."delete: BooleanbindToColumn: Stringtype: QuestionType"Column name."name: String"Message shown to Labeler."label: String"This marks whether the question is required to answer or not."required: Booleanconfig: QuestionConfigInput}​input QuestionConfigInput {"Applies for DATE, TIME. Possible values for DATE are `DD-MM-YYYY`, `MM-DD-YYYY`, `YYYY-MM-DD` `DD/MM/YYYY`, `MM/DD/YYYY` and `YYYY/MM/DD`. Possible values for TIME are `HH:mm:ss`, `HH:mm`, `HH.mm.ss`, and `HH.mm`"format: String"Applies for TEXT, NESTED, DROPDOWN, HIERARCHICAL_DROPDOWN. Set it as true if you want to have multiple answers for this question."multiple: Boolean"Applies for TEXT. Set it as true if you want to enter long text."multiline: Boolean"Applies for Dropdown, HIERARCHICAL_DROPDOWN."options: [QuestionConfigOptionsInput!]"Applies for NESTED."questions: [QuestionInput!]"Applies for TEXT."minLength: Int"Applies for TEXT."maxLength: Int"Applies for TEXT. This field could have contain a regex string, which the browser natively uses for validation. E.g. `[0-9]*`"pattern: String"Applies for SLIDER."min: Int"Applies for SLIDER."max: Int"Applies for SLIDER."step: Int}​input DocumentMetaInput {id: Int!delete: Booleanname: String!description: Stringrequired: BooleanmultipleChoice: Booleanoptions: [DocumentMetaOptionInput!]type: QuestionTypewidth: String}​input DocumentMetaOptionInput {id: String!name: String!parentId: String}​"See [this documentation](https://datasaurai.gitbook.io/datasaur/creating-a-project#question-types) for further information."enum QuestionType {"This type provides a dropdown with multiple options."DROPDOWN,"This type provides a dropdown with hierarchical options."HIERARCHICAL_DROPDOWN,"You can create sub questions inside a question by using this type."NESTED,"This type provides a text area."TEXT,"This type provides a slider with customizeable minimum value and maximum value."SLIDER,"This type provides a date picker."DATE,"This type provides a time picker."TIME}​"More complete explanation can be found here in [this page](https://datasaurai.gitbook.io/datasaur/creating-a-project/project-types)"enum TextDocumentType {"Part of Speech"POS"Named Entity Recognition"NER"Dependency"DEP"Document Labeling"DOCCONSTITUENCYABSA"Coreference"COREF"Optical Character Recognition"OCR}​type Project {id: String!team: TeamrootDocumentId: String!assignees: [ProjectAssignment!]name: String!type: String!createdDate: String!updatedDate: String!isOwnerMe: Boolean!isReviewByMeAllowed: Boolean!settings: ProjectSettings!status: ProjectStatus!}​type ProjectAssignment {teamMember: TeamMember!documentIds: [String!]}​type Team {id: String!logoURL: Stringmembers: [TeamMember!]name: String!}​type TeamMember {id: String!user: Userrole: TeamRoleinvitationEmail: StringinvitationStatus: StringinvitationKey: StringisRemoved: Boolean!joinedDate: String!}​type TeamRole {id: String!name: String!}​input GuidelineInput {name: String!content: String!}​type Guideline {id: Stringname: String!content: String!}​type User {id: IDusername: Stringname: Stringemail: String!package: Package!profilePicture: StringdisplayName: String!}​enum Package {ENTERPRISEFREEGROWTH}