Onedot API

Onedot is the first intelligent platform for commerce and industry to source, onboard and distribute product data. The Onedot API is a GraphQL-based API. You can play with the API in a sandbox or have the GraphQL schema fetched by an introspection query for generating code to access the API in any programming language.

Most queries and mutations of the Onedot API need authentication. Authentication happens using an API Key which can be generated here:

  • Click on the + of the Onedot API card
  • Enter a name for your new API integration and press Create
  • Enter your password and press Create or use alternative authentication options
  • Click on the Onedot API card again and locate the API key under Details
  • Copy it, by hovering over it, and pressing the Copy icon
Requests against the Onedot API need a HTTP header X-API-Key=key set when connecting to https://api.onedot.com/graphql. When using the Try it now link, you can select the Headers tab at the bottom of the page and paste your API key into the value field.

To get started with the Onedot API, it is recommended to start with the topics below from top to bottom to find your way through the functionality offered by the Onedot Platform.

Service Limits

To ensure that all clients of the Onedot Platform receive the best level of service, the Onedot API enforces the following limits for each client:

  • Query results are paginated with a page size of 50 items
  • Arrays as part of inputs must contain no more than 50 items
  • Queries can only be used up to a depth of 8 expressions
  • A single query or mutation is allowed per request
  • Based on the subscriptions you or your groups have with Onedot, other restrictions may apply
When the Onedot API rate limit is exceeded, a 429 Too Many Requests is sent to the offending client, which must reduce the request rate and optimise request patterns to avoid this problem in the future.

Error Handling

Requests against the Onedot API can fail for various reasons. When they fail, the response consists of an array named errors which contains one or multiple objects describing the error. The most important properties are the message, which contains a summary of the error, and the extensions, which contains further information like the response code. The Onedot API defines built-in error codes and specific ones such as:

  • ENTITY_NOT_FOUND, signalling that the entity does not exist
  • ENTITY_TOO_LARGE, signalling that the data set to query is too large
  • TOO_MANY_REQUESTS, signalling that the request quota is exceeded
  • UNPROCESSABLE_ENTITY, signalling that the data set cannot be processed due to a corruption in the data
  • UNSUPPORTED_MEDIA_TYPE, signalling that creating a data set from the given file is not supported
  • OPERATION_FAILED, signalling that the operation on the given entity was not successful
  • OPERATION_NOT_PERMITTED, signalling that permission to execute the operation is missing
  • GROUP_HAS_MEMBERS, signalling that archiving a user group is not possible due to active members
  • PAYMENT_REQUIRED, signalling that the contract with Onedot expired and needs to be renewed

Working with Users

Users represent persons or technical systems that can collaborate with each other. Users are automatically created when signing up with the Onedot App or when inviting a new User to collaborate with me.

Query myself

Description

Query information about my own user I am logged in with.

Response

200 OK
:
Successful

Returns:User!

Example Try now

Request Content Type:

application/json

Query
query me {
  me {
    archived
    id
    created
    email
    emailVerified
    userName
    firstName
    lastName
    groups {
      archived
      id
      name
    }
    userRoles
    collaborators {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    firstSignIn
    lastSignIn
    invitingUserId
    invitingUserEmail
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "me": {
      "archived": false,
      "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "created": "2024-10-24T12:10:16.181Z",
      "email": "amanda.taylor@onedot.com",
      "emailVerified": true,
      "userName": "amanda.taylor@onedot.com",
      "firstName": "Amanda",
      "lastName": "Taylor",
      "groups": [Group],
      "userRoles": ["APPLICATION_MANAGER"],
      "collaborators": [User],
      "firstSignIn": "2024-04-24T12:10:16.181Z",
      "lastSignIn": "2024-04-24T12:10:16.181Z",
      "invitingUserId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "invitingUserEmail": "amanda.taylor@onedot.com"
    }
  }
}

Query my collaborations

Description

Query information about my groups and all users I collaborate with.

Response

200 OK
:
Successful

Returns:Collaborations!

Example Try now

Request Content Type:

application/json

Query
query myCollaborations {
  myCollaborations {
    groups {
      archived
      id
      name
    }
    collaborators {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "myCollaborations": {
      "groups": [Group],
      "collaborators": [User]
    }
  }
}

Query other User by email

Description

Query information about another user based on an email address.

Arguments
Name Description
email:EmailAddress! The email address of the user to request.
Response

200 OK
:
Successful

Returns:User!

Example Try now

Request Content Type:

application/json

Query
query userByEmail($email: EmailAddress!) {
  userByEmail(email: $email) {
    archived
    id
    created
    email
    emailVerified
    userName
    firstName
    lastName
    groups {
      archived
      id
      name
    }
    userRoles
    collaborators {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    firstSignIn
    lastSignIn
    invitingUserId
    invitingUserEmail
  }
}
Variables
{"email": "amanda.taylor@onedot.com"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "userByEmail": {
      "archived": true,
      "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "created": "2024-10-24T12:10:16.181Z",
      "email": "amanda.taylor@onedot.com",
      "emailVerified": false,
      "userName": "amanda.taylor@onedot.com",
      "firstName": "Amanda",
      "lastName": "Taylor",
      "groups": [Group],
      "userRoles": ["APPLICATION_MANAGER"],
      "collaborators": [User],
      "firstSignIn": "2024-10-24T12:10:16.181Z",
      "lastSignIn": "2024-10-24T12:10:16.181Z",
      "invitingUserId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "invitingUserEmail": "amanda.taylor@onedot.com"
    }
  }
}

Query other User by ID

Description

Query information about another user based on an ID.

Arguments
Name Description
id:UserID! The ID of the user to request.
Response

200 OK
:
Successful

Returns:User!

Example Try now

Request Content Type:

application/json

Query
query user($id: UserID!) {
  user(id: $id) {
    archived
    id
    created
    email
    emailVerified
    userName
    firstName
    lastName
    groups {
      archived
      id
      name
    }
    userRoles
    collaborators {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    firstSignIn
    lastSignIn
    invitingUserId
    invitingUserEmail
  }
}
Variables
{
  "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "user": {
      "archived": false,
      "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "created": "2024-10-24T12:10:16.181Z",
      "email": "amanda.taylor@onedot.com",
      "emailVerified": true,
      "userName": "amanda.taylor@onedot.com",
      "firstName": "Amanda",
      "lastName": "Taylor",
      "groups": [Group],
      "userRoles": ["APPLICATION_MANAGER"],
      "collaborators": [User],
      "firstSignIn": "2024-04-24T12:10:16.181Z",
      "lastSignIn": "2024-04-24T12:10:16.181Z",
      "invitingUserId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "invitingUserEmail": "amanda.taylor@onedot.com"
    }
  }
}

Query all Users

Description

Query information about all users I collaborate with.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:UserConnection!

Example Try now

Request Content Type:

application/json

Query
query users(
  $pageSize: Int,
  $after: String
) {
  users(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    users {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      groups {
        archived
        id
        name
      }
      userRoles
      collaborators {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
  }
}
Variables
{"pageSize": 123, "after": "xyz789"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "users": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": false,
      "users": [User]
    }
  }
}

Invite Users

Description

Invite users using the given email, roles, and group ids.

Required Role
Arguments
Name Description
input:[UserInvitationInput!]! The input.
Response

200 OK
:
Successful

Returns:[UserInvitationResult!]!

Example Try now

Request Content Type:

application/json

Query
mutation inviteUsers($input: [UserInvitationInput!]!) {
  inviteUsers(input: $input) {
    userId
    email
    status
  }
}
Variables
{
  "input": [
    {
      "email": "amanda.taylor@onedot.com",
      "roles": "endpointuser",
      "groupIds": [
        "55a60def-61a9-4627-9d08-5654d90bc335"
      ],
      "description": "Description"
    }
  ]
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "inviteUsers": [
      {
        "userId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
        "email": "amanda.taylor@onedot.com",
        "status": "ExistingUser"
      }
    ]
  }
}

Manage User

Description

Manage the user using the given id, roles, and group ids.

Required Role
Arguments
Name Description
input:UserManagementInput! The input.
Response

200 OK
:
Successful

Returns:User!

Example Try now

Request Content Type:

application/json

Query
mutation manageUser($input: UserManagementInput!) {
  manageUser(input: $input) {
    archived
    id
    created
    email
    emailVerified
    userName
    firstName
    lastName
    groups {
      archived
      id
      name
    }
    userRoles
    collaborators {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    firstSignIn
    lastSignIn
    invitingUserId
    invitingUserEmail
  }
}
Variables
{
  "input": {
    "userId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
    "roles": "endpointuser",
    "groupIds": [
      "55a60def-61a9-4627-9d08-5654d90bc335"
    ]
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "manageUser": {
      "archived": false,
      "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "created": "2024-10-24T12:10:16.181Z",
      "email": "amanda.taylor@onedot.com",
      "emailVerified": false,
      "userName": "amanda.taylor@onedot.com",
      "firstName": "Amanda",
      "lastName": "Taylor",
      "groups": [Group],
      "userRoles": ["APPLICATION_MANAGER"],
      "collaborators": [User],
      "firstSignIn": "2024-04-24T12:10:16.181Z",
      "lastSignIn": "2024-10-24T12:10:16.181Z",
      "invitingUserId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "invitingUserEmail": "amanda.taylor@onedot.com"
    }
  }
}

Deactivate User

Description

Deactivate the user by id.

Required Role
Arguments
Name Description
id:UserID! The ID of the user to deactivate.
Response

200 OK
:
Successful

Returns:User!

Example Try now

Request Content Type:

application/json

Query
mutation deactivateUser($id: UserID!) {
  deactivateUser(id: $id) {
    archived
    id
    created
    email
    emailVerified
    userName
    firstName
    lastName
    groups {
      archived
      id
      name
    }
    userRoles
    collaborators {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    firstSignIn
    lastSignIn
    invitingUserId
    invitingUserEmail
  }
}
Variables
{
  "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "deactivateUser": {
      "archived": true,
      "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "created": "2024-04-24T12:10:16.181Z",
      "email": "amanda.taylor@onedot.com",
      "emailVerified": false,
      "userName": "amanda.taylor@onedot.com",
      "firstName": "Amanda",
      "lastName": "Taylor",
      "groups": [Group],
      "userRoles": ["APPLICATION_MANAGER"],
      "collaborators": [User],
      "firstSignIn": "2024-10-24T12:10:16.181Z",
      "lastSignIn": "2024-04-24T12:10:16.181Z",
      "invitingUserId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
      "invitingUserEmail": "amanda.taylor@onedot.com"
    }
  }
}

Working with Groups

Users are organised in Groups to collaborate with each other. Only Users within the same Groups can see each other and collaborate.

Query Group

Description

Query information about a specific group I collaborate with.

Arguments
Name Description
id:GroupID! The ID of the group to request.
Response

200 OK
:
Successful

Returns:Group!

Example Try now

Request Content Type:

application/json

Query
query group($id: GroupID!) {
  group(id: $id) {
    archived
    id
    name
    subgroups {
      archived
      id
      name
    }
    attributes {
      name
      value
    }
  }
}
Variables
{
  "id": "55a60def-61a9-4627-9d08-5654d90bc335"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "group": {
      "archived": true,
      "id": "55a60def-61a9-4627-9d08-5654d90bc335",
      "name": "GroupName",
      "subgroups": [Group],
      "attributes": [
        GroupAttributes
      ]
    }
  }
}

Query all Groups

Description

Query information about all groups I collaborate with.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:GroupConnection!

Example Try now

Request Content Type:

application/json

Query
query groups(
  $pageSize: Int,
  $after: String
) {
  groups(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    groups {
      archived
      id
      name
      subgroups {
        archived
        id
        name
      }
      attributes {
        name
        value
      }
    }
  }
}
Variables
{"pageSize": 987, "after": "xyz789"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "groups": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": false,
      "groups": [Group]
    }
  }
}

Query Users by Group

Description

Query information about all users of a group I collaborate with.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
groupId:GroupID! The ID of the group to request users from.
Response

200 OK
:
Successful

Returns:UserConnection!

Example Try now

Request Content Type:

application/json

Query
query usersByGroup(
  $pageSize: Int,
  $after: String,
  $groupId: GroupID!
) {
  usersByGroup(
    pageSize: $pageSize,
    after: $after,
    groupId: $groupId
  ) {
    cursor
    hasMore
    users {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      groups {
        archived
        id
        name
      }
      userRoles
      collaborators {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
  }
}
Variables
{
  "pageSize": 123,
  "after": "abc123",
  "groupId": "55a60def-61a9-4627-9d08-5654d90bc335"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "usersByGroup": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "users": [User]
    }
  }
}

Create Sub Groups

Description

Creates subgroup under an existing group.

Required Role
Arguments
Name Description
input:CreateSubGroupsInput! The input.
Response

200 OK
:
Successful

Returns:[Group!]!

Example Try now

Request Content Type:

application/json

Query
mutation createSubGroups($input: CreateSubGroupsInput!) {
  createSubGroups(input: $input) {
    archived
    id
    name
    subgroups {
      archived
      id
      name
    }
    attributes {
      name
      value
    }
  }
}
Variables
{
  "input": {
    "groupId": "55a60def-61a9-4627-9d08-5654d90bc335",
    "names": "GroupName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createSubGroups": [
      {
        "archived": true,
        "id": "55a60def-61a9-4627-9d08-5654d90bc335",
        "name": "GroupName",
        "subgroups": [Group],
        "attributes": [
          GroupAttributes
        ]
      }
    ]
  }
}

Archive Group

Description

Archives the given group.

Required Role
Arguments
Name Description
id:GroupID! The ID of the group to archive.
Response

200 OK
:
Successful

Returns:Group!

Example Try now

Request Content Type:

application/json

Query
mutation archiveGroup($id: GroupID!) {
  archiveGroup(id: $id) {
    archived
    id
    name
    subgroups {
      archived
      id
      name
    }
    attributes {
      name
      value
    }
  }
}
Variables
{
  "id": "55a60def-61a9-4627-9d08-5654d90bc335"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveGroup": {
      "archived": false,
      "id": "55a60def-61a9-4627-9d08-5654d90bc335",
      "name": "GroupName",
      "subgroups": [Group],
      "attributes": [
        GroupAttributes
      ]
    }
  }
}

Working with Folders

Folders organise the Data Files and Dictionary Files as a hierarchical file system, as shown in the Onedot App.

Query Data Files Root

Description

Determine the root folder for data files to transfer.

Response

200 OK
:
Successful

Returns:RootFolder!

Example Try now

Request Content Type:

application/json

Query
query dataRoot {
  dataRoot {
    archived
    versionId
    id
    name
    size
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "dataRoot": {
      "archived": true,
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "name": "FolderName",
      "size": 8946
    }
  }
}

Query Dictionary Files Root

Description

Determine the root folder for dictionary files to transfer.

Response

200 OK
:
Successful

Returns:RootFolder!

Example Try now

Request Content Type:

application/json

Query
query dictionaryRoot {
  dictionaryRoot {
    archived
    versionId
    id
    name
    size
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "dictionaryRoot": {
      "archived": false,
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "name": "FolderName",
      "size": 8946
    }
  }
}

Query Folder

Description

Query information about a specific folder.

Arguments
Name Description
id:FolderID! The ID of the folder to request.
Response

200 OK
:
Successful

Returns:Folder!

Example Try now

Request Content Type:

application/json

Query
query folder($id: FolderID!) {
  folder(id: $id) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    parent {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    name
    size
    endpointId
  }
}
Variables
{
  "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "folder": {
      "path": "/home/folder",
      "archived": false,
      "creator": User,
      "modifier": User,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "parent": Folder,
      "name": "FolderName",
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4"
    }
  }
}

Query Folders

Description

Query information about folders with a given path.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
parentId:FolderID The optional ID of the parent folder where to request child entities from. Can be used only for Onedot App endpoint, and the path and endpointId must be undefined.
endpointId:EndpointID The optional ID of the endpoint which to retrieve the folders from, if not specified it uses the Onedot App endpoint by default.
path:Path The optional path to the folder where to request child folders from. Can only be used together with endpointId. If not specified it will return all folders from the root in the specified endpoint.
Response

200 OK
:
Successful

Returns:FolderConnection!

Example Try now

Request Content Type:

application/json

Query
query folders(
  $pageSize: Int,
  $after: String,
  $parentId: FolderID,
  $endpointId: EndpointID,
  $path: Path
) {
  folders(
    pageSize: $pageSize,
    after: $after,
    parentId: $parentId,
    endpointId: $endpointId,
    path: $path
  ) {
    cursor
    hasMore
    folders {
      path
      archived
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      modifier {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      created
      modified
      versionId
      id
      parent {
        path
        archived
        created
        modified
        versionId
        id
        name
        size
        endpointId
      }
      name
      size
      endpointId
    }
  }
}
Variables
{
  "pageSize": 987,
  "after": "xyz789",
  "parentId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
  "path": "/home/folder"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "folders": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "folders": [Folder]
    }
  }
}

Create Folder

Description

Create a new folder with a given name.

Arguments
Name Description
input:CreateFolderInput! The input.
Response

200 OK
:
Successful

Returns:Folder!

Example Try now

Request Content Type:

application/json

Query
mutation createFolder($input: CreateFolderInput!) {
  createFolder(input: $input) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    parent {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    name
    size
    endpointId
  }
}
Variables
{
  "input": {
    "parentId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
    "name": "FolderName",
    "visibility": "PUBLIC"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createFolder": {
      "path": "/home/folder",
      "archived": true,
      "creator": User,
      "modifier": User,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "parent": Folder,
      "name": "FolderName",
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4"
    }
  }
}

Rename Folder

Description

Rename a given folder.

Arguments
Name Description
input:RenameFolderInput! The input.
Response

200 OK
:
Successful

Returns:Folder!

Example Try now

Request Content Type:

application/json

Query
mutation renameFolder($input: RenameFolderInput!) {
  renameFolder(input: $input) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    parent {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    name
    size
    endpointId
  }
}
Variables
{
  "input": {
    "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
    "name": "FolderName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "renameFolder": {
      "path": "/home/folder",
      "archived": true,
      "creator": User,
      "modifier": User,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "parent": Folder,
      "name": "FolderName",
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4"
    }
  }
}

Archive Folder

Description

Archive a given folder.

Arguments
Name Description
id:FolderID! The ID of the folder to archive.
Response

200 OK
:
Successful

Returns:Folder!

Example Try now

Request Content Type:

application/json

Query
mutation archiveFolder($id: FolderID!) {
  archiveFolder(id: $id) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    parent {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    name
    size
    endpointId
  }
}
Variables
{
  "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveFolder": {
      "path": "/home/folder",
      "archived": true,
      "creator": User,
      "modifier": User,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "parent": Folder,
      "name": "FolderName",
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4"
    }
  }
}

Working with Files

Files such as Data Files or Dictionary Files are shown in the Onedot App.

Query File

Description

Query information about a specific file.

Arguments
Name Description
id:FileID! The ID of the file to request.
Response

200 OK
:
Successful

Returns:File!

Example Try now

Request Content Type:

application/json

Query
query file($id: FileID!) {
  file(id: $id) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    mimeType
    encoding
    name
    folder {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    size
    endpointId
    loadAs
    downloadAs
  }
}
Variables
{
  "id": "cd9087eb-c882-4f76-a81e-7665752c2756"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "file": {
      "path": "/home/folder",
      "archived": false,
      "creator": User,
      "modifier": User,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "name": "FileName",
      "folder": Folder,
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
      "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Query Files

Description

Query information about files within a given folder.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
folderId:FolderID The optional ID of the parent folder to request files from. Can be used only for Onedot App endpoint, and the path and endpointId must be undefined.
endpointId:EndpointID The optional ID of the endpoint which to retrieve the files from, if not specified it uses the Onedot App endpoint by default.
path:Path The optional path to the folder where to request child entities from. Can only be used together with endpointId. If not specified it will return all entities from the root in the specified endpoint.
Response

200 OK
:
Successful

Returns:FileConnection!

Example Try now

Request Content Type:

application/json

Query
query files(
  $pageSize: Int,
  $after: String,
  $folderId: FolderID,
  $endpointId: EndpointID,
  $path: Path
) {
  files(
    pageSize: $pageSize,
    after: $after,
    folderId: $folderId,
    endpointId: $endpointId,
    path: $path
  ) {
    cursor
    hasMore
    files {
      path
      archived
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      modifier {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      folder {
        path
        archived
        created
        modified
        versionId
        id
        name
        size
        endpointId
      }
      size
      endpointId
      loadAs
      downloadAs
    }
  }
}
Variables
{
  "pageSize": 987,
  "after": "abc123",
  "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
  "path": "/home/folder"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "files": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": false,
      "files": [File]
    }
  }
}

Query File Definition

Description

Query information about a specific file definition.

Arguments
Name Description
id:FileDefinitionID! The ID of the file definition to request.
Response

200 OK
:
Successful

Returns:FileDefinition!

Example Try now

Request Content Type:

application/json

Query
query fileDefinition($id: FileDefinitionID!) {
  fileDefinition(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    id
    name
    mimeType
    encoding
    reader {
      ... on ExcelFileReaderConfiguration {
      withHeaderRow
      headerSeparator
      nullValues
      dataAddresses
      unmergeCells
    }
      ... on CsvFileReaderConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      withHeaderRow
      headerLabels
      nullValues
      trimWhiteSpace
      multiLine
    }
    }
    writer {
      ... on ExcelFileWriterConfiguration {
      headerType
    }
      ... on CsvFileWriterConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      forceQuote
    }
    }
  }
}
Variables
{
  "id": "d0670650-a216-4929-bfac-74af7170115e"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "fileDefinition": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "id": "d0670650-a216-4929-bfac-74af7170115e",
      "name": "FileDefinitionName",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "reader": ExcelFileReaderConfiguration,
      "writer": ExcelFileWriterConfiguration
    }
  }
}

Query File Definitions

Description

Query information about all file definitions.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:FileDefinitionConnection!

Example Try now

Request Content Type:

application/json

Query
query fileDefinitions(
  $pageSize: Int,
  $after: String
) {
  fileDefinitions(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    fileDefinitions {
      archived
      created
      modified
      versionId
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      modifier {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      id
      name
      mimeType
      encoding
      reader {
        ... on ExcelFileReaderConfiguration {
        withHeaderRow
        headerSeparator
        nullValues
        dataAddresses
        unmergeCells
      }
        ... on CsvFileReaderConfiguration {
        fieldDelimiter
        quoteCharacter
        lineSeparator
        withHeaderRow
        headerLabels
        nullValues
        trimWhiteSpace
        multiLine
      }
      }
      writer {
        ... on ExcelFileWriterConfiguration {
        headerType
      }
        ... on CsvFileWriterConfiguration {
        fieldDelimiter
        quoteCharacter
        lineSeparator
        forceQuote
      }
      }
    }
  }
}
Variables
{"pageSize": 123, "after": "abc123"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "fileDefinitions": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": false,
      "fileDefinitions": [
        FileDefinition
      ]
    }
  }
}

Move File

Description

Moves a given file to another folder.

Arguments
Name Description
input:MoveFileInput! The input.
Response

200 OK
:
Successful

Returns:File!

Example Try now

Request Content Type:

application/json

Query
mutation moveFile($input: MoveFileInput!) {
  moveFile(input: $input) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    mimeType
    encoding
    name
    folder {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    size
    endpointId
    loadAs
    downloadAs
  }
}
Variables
{
  "input": {
    "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
    "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "moveFile": {
      "path": "/home/folder",
      "archived": true,
      "creator": User,
      "modifier": User,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "name": "FileName",
      "folder": Folder,
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
      "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Rename File

Description

Rename a given file.

Arguments
Name Description
input:RenameFileInput! The input.
Response

200 OK
:
Successful

Returns:File!

Example Try now

Request Content Type:

application/json

Query
mutation renameFile($input: RenameFileInput!) {
  renameFile(input: $input) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    mimeType
    encoding
    name
    folder {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    size
    endpointId
    loadAs
    downloadAs
  }
}
Variables
{
  "input": {
    "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
    "name": "FileName",
    "mimeType": "text/csv"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "renameFile": {
      "path": "/home/folder",
      "archived": false,
      "creator": User,
      "modifier": User,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "name": "FileName",
      "folder": Folder,
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
      "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Load File As

Description

Sets the file definition to specify how a file will be loaded.

Arguments
Name Description
input:SetFileDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:File!

Example Try now

Request Content Type:

application/json

Query
mutation setFileLoadAs($input: SetFileDefinitionInput!) {
  setFileLoadAs(input: $input) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    mimeType
    encoding
    name
    folder {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    size
    endpointId
    loadAs
    downloadAs
  }
}
Variables
{
  "input": {
    "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
    "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setFileLoadAs": {
      "path": "/home/folder",
      "archived": true,
      "creator": User,
      "modifier": User,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "name": "FileName",
      "folder": Folder,
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
      "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Download File As

Description

Sets the file definition to specify how a file will be downloaded.

Arguments
Name Description
input:SetFileDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:File!

Example Try now

Request Content Type:

application/json

Query
mutation setFileDownloadAs($input: SetFileDefinitionInput!) {
  setFileDownloadAs(input: $input) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    mimeType
    encoding
    name
    folder {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    size
    endpointId
    loadAs
    downloadAs
  }
}
Variables
{
  "input": {
    "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
    "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setFileDownloadAs": {
      "path": "/home/folder",
      "archived": false,
      "creator": User,
      "modifier": User,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "name": "FileName",
      "folder": Folder,
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
      "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Create File Definition

Description

Create a new file definition.

Required Role
Arguments
Name Description
input:CreateFileDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:FileDefinition!

Example Try now

Request Content Type:

application/json

Query
mutation createFileDefinition($input: CreateFileDefinitionInput!) {
  createFileDefinition(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    id
    name
    mimeType
    encoding
    reader {
      ... on ExcelFileReaderConfiguration {
      withHeaderRow
      headerSeparator
      nullValues
      dataAddresses
      unmergeCells
    }
      ... on CsvFileReaderConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      withHeaderRow
      headerLabels
      nullValues
      trimWhiteSpace
      multiLine
    }
    }
    writer {
      ... on ExcelFileWriterConfiguration {
      headerType
    }
      ... on CsvFileWriterConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      forceQuote
    }
    }
  }
}
Variables
{
  "input": {
    "name": "FileDefinitionName",
    "mimeType": "text/csv",
    "encoding": "UTF-8",
    "reader": {
      "excel": {
        "withHeaderRow": false,
        "headerSeparator": "xyz789",
        "nullValues": ["xyz789"],
        "dataAddresses": ["abc123"],
        "unmergeCells": true
      },
      "csv": {
        "fieldDelimiter": "xyz789",
        "quoteCharacter": "abc123",
        "lineSeparator": "xyz789",
        "withHeaderRow": false,
        "headerLabels": ["xyz789"],
        "nullValues": ["xyz789"],
        "trimWhiteSpace": true,
        "multiLine": false
      }
    },
    "writer": {
      "excel": {"headerType": "NONE"},
      "csv": {
        "fieldDelimiter": "abc123",
        "quoteCharacter": "abc123",
        "lineSeparator": "xyz789",
        "forceQuote": false
      }
    }
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createFileDefinition": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "id": "d0670650-a216-4929-bfac-74af7170115e",
      "name": "FileDefinitionName",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "reader": ExcelFileReaderConfiguration,
      "writer": ExcelFileWriterConfiguration
    }
  }
}

Update File Definition

Description

Update all information about a file definition.

Required Role
Arguments
Name Description
input:UpdateFileDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:FileDefinition!

Example Try now

Request Content Type:

application/json

Query
mutation updateFileDefinition($input: UpdateFileDefinitionInput!) {
  updateFileDefinition(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    id
    name
    mimeType
    encoding
    reader {
      ... on ExcelFileReaderConfiguration {
      withHeaderRow
      headerSeparator
      nullValues
      dataAddresses
      unmergeCells
    }
      ... on CsvFileReaderConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      withHeaderRow
      headerLabels
      nullValues
      trimWhiteSpace
      multiLine
    }
    }
    writer {
      ... on ExcelFileWriterConfiguration {
      headerType
    }
      ... on CsvFileWriterConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      forceQuote
    }
    }
  }
}
Variables
{
  "input": {
    "id": "d0670650-a216-4929-bfac-74af7170115e",
    "name": "abc123",
    "mimeType": "text/csv",
    "encoding": "UTF-8",
    "reader": {
      "excel": {
        "withHeaderRow": false,
        "headerSeparator": "abc123",
        "nullValues": ["xyz789"],
        "dataAddresses": ["xyz789"],
        "unmergeCells": true
      },
      "csv": {
        "fieldDelimiter": "abc123",
        "quoteCharacter": "xyz789",
        "lineSeparator": "xyz789",
        "withHeaderRow": true,
        "headerLabels": ["abc123"],
        "nullValues": ["xyz789"],
        "trimWhiteSpace": true,
        "multiLine": false
      }
    },
    "writer": {
      "excel": {"headerType": "NONE"},
      "csv": {
        "fieldDelimiter": "abc123",
        "quoteCharacter": "abc123",
        "lineSeparator": "xyz789",
        "forceQuote": true
      }
    }
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updateFileDefinition": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "id": "d0670650-a216-4929-bfac-74af7170115e",
      "name": "FileDefinitionName",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "reader": ExcelFileReaderConfiguration,
      "writer": ExcelFileWriterConfiguration
    }
  }
}

Archive File Definition

Description

Archives a given file definition.

Required Role
Arguments
Name Description
id:FileDefinitionID! The ID of the file definition to request.
Response

200 OK
:
Successful

Returns:FileDefinition!

Example Try now

Request Content Type:

application/json

Query
mutation archiveFileDefinition($id: FileDefinitionID!) {
  archiveFileDefinition(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    id
    name
    mimeType
    encoding
    reader {
      ... on ExcelFileReaderConfiguration {
      withHeaderRow
      headerSeparator
      nullValues
      dataAddresses
      unmergeCells
    }
      ... on CsvFileReaderConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      withHeaderRow
      headerLabels
      nullValues
      trimWhiteSpace
      multiLine
    }
    }
    writer {
      ... on ExcelFileWriterConfiguration {
      headerType
    }
      ... on CsvFileWriterConfiguration {
      fieldDelimiter
      quoteCharacter
      lineSeparator
      forceQuote
    }
    }
  }
}
Variables
{
  "id": "d0670650-a216-4929-bfac-74af7170115e"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveFileDefinition": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "id": "d0670650-a216-4929-bfac-74af7170115e",
      "name": "FileDefinitionName",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "reader": ExcelFileReaderConfiguration,
      "writer": ExcelFileWriterConfiguration
    }
  }
}

Archive File

Description

Archives a given file.

Arguments
Name Description
id:FileID! The ID of the file to archive.
Response

200 OK
:
Successful

Returns:File!

Example Try now

Request Content Type:

application/json

Query
mutation archiveFile($id: FileID!) {
  archiveFile(id: $id) {
    path
    archived
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    created
    modified
    versionId
    id
    mimeType
    encoding
    name
    folder {
      path
      archived
      created
      modified
      versionId
      id
      name
      size
      endpointId
    }
    size
    endpointId
    loadAs
    downloadAs
  }
}
Variables
{
  "id": "cd9087eb-c882-4f76-a81e-7665752c2756"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveFile": {
      "path": "/home/folder",
      "archived": false,
      "creator": User,
      "modifier": User,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "name": "FileName",
      "folder": Folder,
      "size": 8946,
      "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
      "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Transferring Data

Files such as Data Files or Dictionary Files are best created by uploading them to the Onedot App. You can either drag and drop files right to your browser running the Onedot App or use the mutations below to initiate a File Transfer.

Upload Files

Description

Initiate a file transfer to upload files to the Onedot Platform.

Arguments
Name Description
inputs:[UploadFileInput!]! The input.
Response

200 OK
:
Successful

Returns:[FileTransfer!]!

Example Try now

Request Content Type:

application/json

Query
mutation uploadFiles($inputs: [UploadFileInput!]!) {
  uploadFiles(inputs: $inputs) {
    id
    name
    mimeType
    url
    expiry
    method
    headers {
      name
      values
    }
  }
}
Variables
{
  "inputs": [
    {
      "name": "FileName",
      "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
      "mimeType": "text/csv",
      "encoding": "UTF-8",
      "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
    }
  ]
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "uploadFiles": [
      {
        "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
        "name": "FileName",
        "mimeType": "text/csv",
        "url": "https://app.onedot.com",
        "expiry": "2024-10-24T12:10:16.181Z",
        "method": "GET",
        "headers": [HttpHeader]
      }
    ]
  }
}

Download Files

Description

Initiate a file transfer to download files from the Onedot Platform.

Arguments
Name Description
ids:[FileID!]! The IDs of the files to download.
Response

200 OK
:
Successful

Returns:[FileTransfer!]!

Example Try now

Request Content Type:

application/json

Query
mutation downloadFiles($ids: [FileID!]!) {
  downloadFiles(ids: $ids) {
    id
    name
    mimeType
    url
    expiry
    method
    headers {
      name
      values
    }
  }
}
Variables
{
  "ids": [
    "cd9087eb-c882-4f76-a81e-7665752c2756"
  ]
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "downloadFiles": [
      {
        "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
        "name": "FileName",
        "mimeType": "text/csv",
        "url": "https://app.onedot.com",
        "expiry": "2024-04-24T12:10:16.181Z",
        "method": "GET",
        "headers": [HttpHeader]
      }
    ]
  }
}

Changing Data Sets

Data Sets are immutable collections of data rows organised in columns and cells, optimised for efficient access. Any operation on Data Sets such as editing cells will generate a new Data Set, maintaining origin of Data Sets and their lineage. Objects such as Data Files, Dictionary Files and Tasks store their data in Data Sets.

Query data set of a file

Description

Query data set of a specific Data File or Dictionary File.

Arguments
Name Description
id:FileID! The ID of the file to request.
Response

200 OK
:
Successful

Returns:DataSetWithStatus!

Example Try now

Request Content Type:

application/json

Query
query fileDataSet($id: FileID!) {
  fileDataSet(id: $id) {
    dataSet {
      id
      attributes
      content
    }
    status
  }
}
Variables
{
  "id": "cd9087eb-c882-4f76-a81e-7665752c2756"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "fileDataSet": {
      "dataSet": DataSet,
      "status": "SUCCESS"
    }
  }
}

Query data set of a task

Description

Query data set of a specific Task. Tasks always have an associated data set.

Arguments
Name Description
id:TaskID! The ID of the task to request.
Response

200 OK
:
Successful

Returns:DataSet!

Example Try now

Request Content Type:

application/json

Query
query taskDataSet($id: TaskID!) {
  taskDataSet(id: $id) {
    id
    attributes
    content
  }
}
Variables
{
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "taskDataSet": {
      "id": "8c7187d3-a326-45cc-bb0a-9acb1388cf25",
      "attributes": {
        "e93b1389-8228-41d2-9119-aa0ee89ba9e0": {"key": 0, "name": "Column 0"},
        "5f675146-d12f-4dac-b6b9-8507f5bafbfc": {"key": 1, "name": "Column 1"}
      },
      "content": {
        "88ba1ada-394c-4fa1-aa1d-49c16277fa94": ["col0 row0", "col1 row0"],
        "5f0a4d5e-2fb7-4132-84e4-e37d08bc74f0": ["col0 row1", "col1 row1"]
      }
    }
  }
}

Update Data Set of a File

Description

Update data set of a specific Data File or Dictionary File.

Arguments
Name Description
input:UpdateFileDataSetContentInput! The input.
Response

200 OK
:
Successful

Returns:DataSetID!

Example Try now

Request Content Type:

application/json

Query
mutation updateFileDataSetContent($input: UpdateFileDataSetContentInput!) {
  updateFileDataSetContent(input: $input)
}
Variables
{
  "input": {
    "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
    "input": {
      "addedColumns": [{"name": "Column"}],
      "addedRows": [
        {
          "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
          "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
        }
      ],
      "changedColumns": {
        "076721a2-54fe-4227-af21-8da856db544e": {"name": "Changed Column Name"}
      },
      "changedRows": {
        "8478f404-1574-4a6b-8274-b2b175c62509": {
          "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
          "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
        }
      },
      "deletedColumns": [
        "0ec1f137-71c0-4a99-99af-6afb338d8142"
      ],
      "deletedRows": [
        "8ba93c88-61d8-4b50-a5dc-e9add7149c14"
      ]
    }
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updateFileDataSetContent": "8c7187d3-a326-45cc-bb0a-9acb1388cf25"
  }
}

Update Data Set of a Task

Description

Update data set of a specific Task.

Arguments
Name Description
input:UpdateTaskDataSetContentInput! The input.
Response

200 OK
:
Successful

Returns:DataSetID!

Example Try now

Request Content Type:

application/json

Query
mutation updateTaskDataSetContent($input: UpdateTaskDataSetContentInput!) {
  updateTaskDataSetContent(input: $input)
}
Variables
{
  "input": {
    "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
    "input": {
      "addedColumns": [{"name": "Column"}],
      "addedRows": [
        {
          "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
          "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
        }
      ],
      "changedColumns": {
        "076721a2-54fe-4227-af21-8da856db544e": {"name": "Changed Column Name"}
      },
      "changedRows": {
        "8478f404-1574-4a6b-8274-b2b175c62509": {
          "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
          "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
        }
      },
      "deletedColumns": [
        "0ec1f137-71c0-4a99-99af-6afb338d8142"
      ],
      "deletedRows": [
        "8ba93c88-61d8-4b50-a5dc-e9add7149c14"
      ]
    }
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updateTaskDataSetContent": "8c7187d3-a326-45cc-bb0a-9acb1388cf25"
  }
}

Managing Pipelines

Pipelines are defined by Pipeline Definitions, these definitions define what are the inputs, outputs and properties expected by the pipeline when starting an execution.

Query Pipeline Definition

Description

Query information about a specific pipeline definition.

Arguments
Name Description
id:PipelineDefinitionID! The ID of the pipeline definition to request.
Response

200 OK
:
Successful

Returns:PipelineDefinition!

Example Try now

Request Content Type:

application/json

Query
query pipelineDefinition($id: PipelineDefinitionID!) {
  pipelineDefinition(id: $id) {
    id
    name
    inputs {
      reference
      mandatory
    }
    outputs {
      ... on PipelineTaskOutputDefinition {
      name
      description
      status
      taskType
      fileName
      folder
      mimeType
      type
      reference
    }
      ... on PipelineFileOutputDefinition {
      name
      folder
      mimeType
      type
      reference
    }
    }
    properties {
      property
      value {
        mandatory
        defaultValue
        defaultValues
      }
    }
    warningTimeout {
      unit
      length
    }
    failedTimeout {
      unit
      length
    }
    executionUser
  }
}
Variables
{
  "id": "9713b16f-a541-4ff6-808e-8641bf931009"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "pipelineDefinition": {
      "id": "9713b16f-a541-4ff6-808e-8641bf931009",
      "name": "PipelineDefinitionName",
      "inputs": [
        PipelineDefinitionInput
      ],
      "outputs": [
        PipelineTaskOutputDefinition
      ],
      "properties": [
        PipelineDefinitionProperty
      ],
      "warningTimeout": Duration,
      "failedTimeout": Duration,
      "executionUser": "PIPELINE_DEFINITION_CREATOR"
    }
  }
}

Query Pipeline Definitions

Description

Query information about all pipeline definitions.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:PipelineDefinitionConnection!

Example Try now

Request Content Type:

application/json

Query
query pipelineDefinitions(
  $pageSize: Int,
  $after: String
) {
  pipelineDefinitions(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    pipelineDefinitions {
      id
      name
      inputs {
        reference
        mandatory
      }
      outputs {
        ... on PipelineTaskOutputDefinition {
        name
        description
        status
        taskType
        fileName
        folder
        mimeType
        type
        reference
      }
        ... on PipelineFileOutputDefinition {
        name
        folder
        mimeType
        type
        reference
      }
      }
      properties {
        property
        value {
          mandatory
          defaultValue
          defaultValues
        }
      }
      warningTimeout {
        unit
        length
      }
      failedTimeout {
        unit
        length
      }
      executionUser
    }
  }
}
Variables
{"pageSize": 123, "after": "xyz789"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "pipelineDefinitions": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": false,
      "pipelineDefinitions": [
        PipelineDefinition
      ]
    }
  }
}

Create Pipeline Definition

Description

Create a specific pipeline definition.

Required Role
Arguments
Name Description
input:CreatePipelineDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:PipelineDefinition!

Example Try now

Request Content Type:

application/json

Query
mutation createPipelineDefinition($input: CreatePipelineDefinitionInput!) {
  createPipelineDefinition(input: $input) {
    id
    name
    inputs {
      reference
      mandatory
    }
    outputs {
      ... on PipelineTaskOutputDefinition {
      name
      description
      status
      taskType
      fileName
      folder
      mimeType
      type
      reference
    }
      ... on PipelineFileOutputDefinition {
      name
      folder
      mimeType
      type
      reference
    }
    }
    properties {
      property
      value {
        mandatory
        defaultValue
        defaultValues
      }
    }
    warningTimeout {
      unit
      length
    }
    failedTimeout {
      unit
      length
    }
    executionUser
  }
}
Variables
{
  "input": {
    "recipeUri": "xyz789",
    "name": "abc123",
    "description": "xyz789",
    "inputs": [
      {
        "reference": "Data Set",
        "input": {
          "reference": "Input",
          "defaultInput": {
            "type": "TASK",
            "id": "29cccfee-3ed5-48f1-9dbd-07f8100f29b8",
            "sourceReference": "https://app.onedot.com"
          }
        }
      }
    ],
    "outputs": [
      {
        "reference": "Output",
        "taskOutputDefinition": {
          "name": "TaskName",
          "description": "Description",
          "status": "DRAFTING",
          "taskType": "FEEDBACK",
          "fileName": "FileName",
          "folder": "/home/folder",
          "mimeType": "text/csv",
          "pipelineOutputReference": "Pipeline Output"
        },
        "fileOutputDefinition": {
          "name": "FileName",
          "folder": "/home/folder",
          "mimeType": "text/csv",
          "pipelineOutputReference": "Pipeline Output"
        }
      }
    ],
    "properties": [
      {
        "property": "abc123",
        "value": {
          "mandatory": false,
          "defaultValue": "xyz789",
          "defaultValues": ["abc123"],
          "isExecutionIdentifier": true
        }
      }
    ],
    "warningTimeout": {"unit": "MILLISECONDS", "length": 987.65},
    "failedTimeout": {"unit": "MILLISECONDS", "length": 987.65},
    "executionUser": "PIPELINE_DEFINITION_CREATOR"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createPipelineDefinition": {
      "id": "9713b16f-a541-4ff6-808e-8641bf931009",
      "name": "PipelineDefinitionName",
      "inputs": [
        PipelineDefinitionInput
      ],
      "outputs": [
        PipelineTaskOutputDefinition
      ],
      "properties": [
        PipelineDefinitionProperty
      ],
      "warningTimeout": Duration,
      "failedTimeout": Duration,
      "executionUser": "PIPELINE_DEFINITION_CREATOR"
    }
  }
}

Update Pipeline Definition

Description

Update all information about a pipeline definition.

Required Role
Arguments
Name Description
input:UpdatePipelineDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:PipelineDefinition!

Example Try now

Request Content Type:

application/json

Query
mutation updatePipelineDefinition($input: UpdatePipelineDefinitionInput!) {
  updatePipelineDefinition(input: $input) {
    id
    name
    inputs {
      reference
      mandatory
    }
    outputs {
      ... on PipelineTaskOutputDefinition {
      name
      description
      status
      taskType
      fileName
      folder
      mimeType
      type
      reference
    }
      ... on PipelineFileOutputDefinition {
      name
      folder
      mimeType
      type
      reference
    }
    }
    properties {
      property
      value {
        mandatory
        defaultValue
        defaultValues
      }
    }
    warningTimeout {
      unit
      length
    }
    failedTimeout {
      unit
      length
    }
    executionUser
  }
}
Variables
{
  "input": {
    "id": "9713b16f-a541-4ff6-808e-8641bf931009",
    "recipeUri": "abc123",
    "name": "abc123",
    "description": "abc123",
    "inputs": [
      {
        "reference": "Data Set",
        "input": {
          "reference": "Input",
          "defaultInput": {
            "type": "TASK",
            "id": "29cccfee-3ed5-48f1-9dbd-07f8100f29b8",
            "sourceReference": "https://app.onedot.com"
          }
        }
      }
    ],
    "outputs": [
      {
        "reference": "Output",
        "taskOutputDefinition": {
          "name": "TaskName",
          "description": "Description",
          "status": "DRAFTING",
          "taskType": "FEEDBACK",
          "fileName": "FileName",
          "folder": "/home/folder",
          "mimeType": "text/csv",
          "pipelineOutputReference": "Pipeline Output"
        },
        "fileOutputDefinition": {
          "name": "FileName",
          "folder": "/home/folder",
          "mimeType": "text/csv",
          "pipelineOutputReference": "Pipeline Output"
        }
      }
    ],
    "properties": [
      {
        "property": "abc123",
        "value": {
          "mandatory": false,
          "defaultValue": "abc123",
          "defaultValues": ["xyz789"],
          "isExecutionIdentifier": false
        }
      }
    ],
    "warningTimeout": {"unit": "MILLISECONDS", "length": 987.65},
    "failedTimeout": {"unit": "MILLISECONDS", "length": 987.65},
    "executionUser": "PIPELINE_DEFINITION_CREATOR"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updatePipelineDefinition": {
      "id": "9713b16f-a541-4ff6-808e-8641bf931009",
      "name": "PipelineDefinitionName",
      "inputs": [
        PipelineDefinitionInput
      ],
      "outputs": [
        PipelineTaskOutputDefinition
      ],
      "properties": [
        PipelineDefinitionProperty
      ],
      "warningTimeout": Duration,
      "failedTimeout": Duration,
      "executionUser": "PIPELINE_DEFINITION_CREATOR"
    }
  }
}

Archive Pipeline Definition

Description

Archive a specific pipeline definition.

Required Role
Arguments
Name Description
id:PipelineDefinitionID! The ID of the pipeline definition to request.
Response

200 OK
:
Successful

Returns:PipelineDefinition!

Example Try now

Request Content Type:

application/json

Query
mutation archivePipelineDefinition($id: PipelineDefinitionID!) {
  archivePipelineDefinition(id: $id) {
    id
    name
    inputs {
      reference
      mandatory
    }
    outputs {
      ... on PipelineTaskOutputDefinition {
      name
      description
      status
      taskType
      fileName
      folder
      mimeType
      type
      reference
    }
      ... on PipelineFileOutputDefinition {
      name
      folder
      mimeType
      type
      reference
    }
    }
    properties {
      property
      value {
        mandatory
        defaultValue
        defaultValues
      }
    }
    warningTimeout {
      unit
      length
    }
    failedTimeout {
      unit
      length
    }
    executionUser
  }
}
Variables
{
  "id": "9713b16f-a541-4ff6-808e-8641bf931009"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archivePipelineDefinition": {
      "id": "9713b16f-a541-4ff6-808e-8641bf931009",
      "name": "PipelineDefinitionName",
      "inputs": [
        PipelineDefinitionInput
      ],
      "outputs": [
        PipelineTaskOutputDefinition
      ],
      "properties": [
        PipelineDefinitionProperty
      ],
      "warningTimeout": Duration,
      "failedTimeout": Duration,
      "executionUser": "PIPELINE_DEFINITION_CREATOR"
    }
  }
}

Executing Pipelines

Using the information from Pipeline Definitions a Pipeline Execution can be created, which contains the inputs, outputs, and the status of the pipeline. When the Pipeline Execution Status is SUCCEEDED, the results are available on the Pipeline Execution itself.

Query pipeline execution

Description

Query information about a specific pipeline execution.

Arguments
Name Description
id:PipelineExecutionID! The ID of the pipeline execution to request.
Response

200 OK
:
Successful

Returns:PipelineExecution!

Example Try now

Request Content Type:

application/json

Query
query pipelineExecution($id: PipelineExecutionID!) {
  pipelineExecution(id: $id) {
    id
    pipelineId
    inputs {
      reference
      input {
        type
        id
      }
    }
    outputs {
      reference
      output {
        name
        folderPath
      }
    }
    properties {
      property
      value
      values
    }
    status
    statusMessage
    results {
      reference
      output {
        type
        id
      }
    }
    started
    ended
  }
}
Variables
{
  "id": "0098adc5-cd79-42e3-9ad3-400d276ae53f"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "pipelineExecution": {
      "id": "0098adc5-cd79-42e3-9ad3-400d276ae53f",
      "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
      "inputs": [
        PipelineExecutionInput
      ],
      "outputs": [
        PipelineExecutionOutput
      ],
      "properties": [
        PipelineExecutionProperty
      ],
      "status": "PENDING",
      "statusMessage": "abc123",
      "results": [
        PipelineExecutionResult
      ],
      "started": "2024-10-24T12:10:16.181Z",
      "ended": "2024-10-24T12:10:16.181Z"
    }
  }
}

Query pipeline executions

Description

Query information about all pipeline executions.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:PipelineExecutionConnection!

Example Try now

Request Content Type:

application/json

Query
query pipelineExecutions(
  $pageSize: Int,
  $after: String
) {
  pipelineExecutions(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    pipelineExecutions {
      id
      pipelineId
      inputs {
        reference
        input {
          type
          id
        }
      }
      outputs {
        reference
        output {
          name
          folderPath
        }
      }
      properties {
        property
        value
        values
      }
      status
      statusMessage
      results {
        reference
        output {
          type
          id
        }
      }
      started
      ended
    }
  }
}
Variables
{"pageSize": 987, "after": "abc123"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "pipelineExecutions": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "pipelineExecutions": [
        PipelineExecution
      ]
    }
  }
}

Create Pipeline Execution

Description

Create a specific pipeline execution.

Arguments
Name Description
input:CreatePipelineExecutionInput! The input.
Response

200 OK
:
Successful

Returns:PipelineExecution!

Example Try now

Request Content Type:

application/json

Query
mutation createPipelineExecution($input: CreatePipelineExecutionInput!) {
  createPipelineExecution(input: $input) {
    id
    pipelineId
    inputs {
      reference
      input {
        type
        id
      }
    }
    outputs {
      reference
      output {
        name
        folderPath
      }
    }
    properties {
      property
      value
      values
    }
    status
    statusMessage
    results {
      reference
      output {
        type
        id
      }
    }
    started
    ended
  }
}
Variables
{
  "input": {
    "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
    "inputs": [
      {
        "reference": "Input",
        "input": {
          "type": "TASK",
          "id": "29cccfee-3ed5-48f1-9dbd-07f8100f29b8",
          "sourceReference": "https://app.onedot.com"
        }
      }
    ],
    "outputs": [
      {
        "reference": "Output",
        "output": {
          "name": "FileName",
          "folderPath": "/home/folder"
        }
      }
    ],
    "properties": [
      {"property": "PropertyName", "value": "Value", "values": "Value"}
    ]
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createPipelineExecution": {
      "id": "0098adc5-cd79-42e3-9ad3-400d276ae53f",
      "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
      "inputs": [
        PipelineExecutionInput
      ],
      "outputs": [
        PipelineExecutionOutput
      ],
      "properties": [
        PipelineExecutionProperty
      ],
      "status": "PENDING",
      "statusMessage": "xyz789",
      "results": [
        PipelineExecutionResult
      ],
      "started": "2024-10-24T12:10:16.181Z",
      "ended": "2024-10-24T12:10:16.181Z"
    }
  }
}

Archive Pipeline Execution

Description

Archive a specific pipeline execution.

Arguments
Name Description
id:PipelineExecutionID! The ID of the pipeline execution.
Response

200 OK
:
Successful

Returns:PipelineExecution!

Example Try now

Request Content Type:

application/json

Query
mutation archivePipelineExecution($id: PipelineExecutionID!) {
  archivePipelineExecution(id: $id) {
    id
    pipelineId
    inputs {
      reference
      input {
        type
        id
      }
    }
    outputs {
      reference
      output {
        name
        folderPath
      }
    }
    properties {
      property
      value
      values
    }
    status
    statusMessage
    results {
      reference
      output {
        type
        id
      }
    }
    started
    ended
  }
}
Variables
{
  "id": "0098adc5-cd79-42e3-9ad3-400d276ae53f"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archivePipelineExecution": {
      "id": "0098adc5-cd79-42e3-9ad3-400d276ae53f",
      "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
      "inputs": [
        PipelineExecutionInput
      ],
      "outputs": [
        PipelineExecutionOutput
      ],
      "properties": [
        PipelineExecutionProperty
      ],
      "status": "PENDING",
      "statusMessage": "abc123",
      "results": [
        PipelineExecutionResult
      ],
      "started": "2024-04-24T12:10:16.181Z",
      "ended": "2024-04-24T12:10:16.181Z"
    }
  }
}

Registering Providers

Providers denote data sources such as suppliers, distributors or merchants providing product data. Providers are shown as part of Jobs in the Onedot App.

Query Provider

Description

Query information about a specific provider.

Arguments
Name Description
id:ProviderID! The ID of the provider to request.
Response

200 OK
:
Successful

Returns:DataProvider!

Example Try now

Request Content Type:

application/json

Query
query provider($id: ProviderID!) {
  provider(id: $id) {
    archived
    created
    modified
    versionId
    tags {
      tagName
    }
    contacts {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    name
    key
    logoId
    website
  }
}
Variables
{
  "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "provider": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "tags": [Tag],
      "contacts": [User],
      "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
      "creator": User,
      "modifier": User,
      "name": "ProviderName",
      "key": "provider-name",
      "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
      "website": "https://app.onedot.com"
    }
  }
}

Query Providers

Description

Query information about all providers.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:ProviderConnection!

Example Try now

Request Content Type:

application/json

Query
query providers(
  $pageSize: Int,
  $after: String
) {
  providers(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    providers {
      archived
      created
      modified
      versionId
      tags {
        tagName
      }
      contacts {
        ... on User {
        archived
        userId: id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
        ... on Group {
        archived
        groupId: id
        name
      }
      }
      id
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      modifier {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      name
      key
      logoId
      website
    }
  }
}
Variables
{"pageSize": 987, "after": "xyz789"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "providers": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "providers": [DataProvider]
    }
  }
}

Create Provider

Description

Create a new provider.

Required Role
Arguments
Name Description
input:CreateProviderInput! The input.
Response

200 OK
:
Successful

Returns:DataProvider!

Example Try now

Request Content Type:

application/json

Query
mutation createProvider($input: CreateProviderInput!) {
  createProvider(input: $input) {
    archived
    created
    modified
    versionId
    tags {
      tagName
    }
    contacts {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    name
    key
    logoId
    website
  }
}
Variables
{
  "input": {
    "name": "ProviderName",
    "key": "provider-name",
    "tags": "TagName",
    "website": "https://app.onedot.com"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createProvider": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "tags": [Tag],
      "contacts": [User],
      "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
      "creator": User,
      "modifier": User,
      "name": "ProviderName",
      "key": "provider-name",
      "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
      "website": "https://app.onedot.com"
    }
  }
}

Rename Provider

Description

Rename a given provider.

Required Role
Arguments
Name Description
input:RenameProviderInput! The input.
Response

200 OK
:
Successful

Returns:DataProvider!

Example Try now

Request Content Type:

application/json

Query
mutation renameProvider($input: RenameProviderInput!) {
  renameProvider(input: $input) {
    archived
    created
    modified
    versionId
    tags {
      tagName
    }
    contacts {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    name
    key
    logoId
    website
  }
}
Variables
{
  "input": {
    "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
    "name": "ProviderName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "renameProvider": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "tags": [Tag],
      "contacts": [User],
      "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
      "creator": User,
      "modifier": User,
      "name": "ProviderName",
      "key": "provider-name",
      "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
      "website": "https://app.onedot.com"
    }
  }
}

Set User Contacts

Description

Set the given Users as contacts.

Required Role
Arguments
Name Description
input:ProviderUserContactsInput! The input.
Response

200 OK
:
Successful

Returns:DataProvider!

Example Try now

Request Content Type:

application/json

Query
mutation setProviderUserContacts($input: ProviderUserContactsInput!) {
  setProviderUserContacts(input: $input) {
    archived
    created
    modified
    versionId
    tags {
      tagName
    }
    contacts {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    name
    key
    logoId
    website
  }
}
Variables
{
  "input": {
    "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
    "userIds": [
      "7b9144ad-99cb-4595-a4d0-652fc9ea1627"
    ]
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setProviderUserContacts": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "tags": [Tag],
      "contacts": [User],
      "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
      "creator": User,
      "modifier": User,
      "name": "ProviderName",
      "key": "provider-name",
      "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
      "website": "https://app.onedot.com"
    }
  }
}

Set Group Contacts

Description

Set the given Groups as contacts.

Required Role
Arguments
Name Description
input:ProviderGroupContactsInput! The input.
Response

200 OK
:
Successful

Returns:DataProvider!

Example Try now

Request Content Type:

application/json

Query
mutation setProviderGroupContacts($input: ProviderGroupContactsInput!) {
  setProviderGroupContacts(input: $input) {
    archived
    created
    modified
    versionId
    tags {
      tagName
    }
    contacts {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    name
    key
    logoId
    website
  }
}
Variables
{
  "input": {
    "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
    "groupIds": [
      "55a60def-61a9-4627-9d08-5654d90bc335"
    ]
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setProviderGroupContacts": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "tags": [Tag],
      "contacts": [User],
      "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
      "creator": User,
      "modifier": User,
      "name": "ProviderName",
      "key": "provider-name",
      "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
      "website": "https://app.onedot.com"
    }
  }
}

Change Provider Tags

Description

Change the tags of the given provider.

Required Role
Arguments
Name Description
input:ProviderTagInput! The input.
Response

200 OK
:
Successful

Returns:DataProvider!

Example Try now

Request Content Type:

application/json

Query
mutation changeProviderTags($input: ProviderTagInput!) {
  changeProviderTags(input: $input) {
    archived
    created
    modified
    versionId
    tags {
      tagName
    }
    contacts {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    name
    key
    logoId
    website
  }
}
Variables
{
  "input": {
    "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
    "tags": "TagName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "changeProviderTags": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "tags": [Tag],
      "contacts": [User],
      "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
      "creator": User,
      "modifier": User,
      "name": "ProviderName",
      "key": "provider-name",
      "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
      "website": "https://app.onedot.com"
    }
  }
}

Managing Jobs

Jobs represent a specific process of product data onboarding, consisting of a series of Steps organised in a recipe describing the desired outcome of the onboarding. Jobs are shown in the Onedot App.

Query Job

Description

Query information about a specific job.

Arguments
Name Description
id:JobID! The ID of the job to request.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
query job($id: JobID!) {
  job(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "id": "6b930388-e713-4178-a29a-521e69da7096"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "job": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Query Jobs

Description

Query information about all jobs.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:JobConnection!

Example Try now

Request Content Type:

application/json

Query
query jobs(
  $pageSize: Int,
  $after: String
) {
  jobs(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    jobs {
      archived
      created
      modified
      versionId
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      modifier {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      tags {
        tagName
      }
      id
      name
      approval
      status
      provider {
        archived
        created
        modified
        versionId
        id
        name
        key
        logoId
        website
      }
      files {
        path
        archived
        created
        modified
        versionId
        id
        mimeType
        encoding
        name
        size
        endpointId
        loadAs
        downloadAs
      }
      statistics {
        stepId
        statisticsType
        key
        pinned
      }
      steps {
        id
        status
      }
      pipeline {
        id
        name
        executionUser
      }
      expiryTime
      expiryDuration {
        unit
        length
      }
    }
  }
}
Variables
{"pageSize": 123, "after": "abc123"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "jobs": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": false,
      "jobs": [Job]
    }
  }
}

Create Job

Description

Create a new job.

Required Role
Arguments
Name Description
input:CreateJobInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation createJob($input: CreateJobInput!) {
  createJob(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "name": "PDO-01",
    "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
    "executionId": "0098adc5-cd79-42e3-9ad3-400d276ae53f",
    "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
    "stepTypeIds": [
      "d3db9fcf-7589-4298-bd86-155388b8c9a0"
    ],
    "fileIds": [
      "cd9087eb-c882-4f76-a81e-7665752c2756"
    ],
    "tags": "TagName",
    "expiryTime": "2024-04-24T12:10:16.181Z",
    "expiryDuration": {"unit": "MILLISECONDS", "length": 123.45}
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createJob": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Rename Job

Description

Rename a given job.

Required Role
Arguments
Name Description
input:RenameJobInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation renameJob($input: RenameJobInput!) {
  renameJob(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "name": "PDO-01"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "renameJob": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Copy Job

Description

Copy a given job.

Required Role
Arguments
Name Description
input:CopyJobInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation copyJob($input: CopyJobInput!) {
  copyJob(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "name": "PDO-01",
    "fileIds": [
      "cd9087eb-c882-4f76-a81e-7665752c2756"
    ],
    "tags": "TagName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "copyJob": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Set Approval

Description

Set the Approval of a job.

Required Role
Arguments
Name Description
input:JobApprovalInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation setJobApproval($input: JobApprovalInput!) {
  setJobApproval(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "approval": "APPROVED"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setJobApproval": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Set Status

The status of a job is now automatically set by the Onedot Platform based on pipeline executions. Any usages of this mutation can be removed as they do not have any effect anymore.
Description

Set the status of a job.

Required Role
Arguments
Name Description
input:JobStatusInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation setJobStatus($input: JobStatusInput!) {
  setJobStatus(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "status": "abc123"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setJobStatus": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Set Tags

Description

Set the given tags.

Required Role
Arguments
Name Description
input:JobTagInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation changeJobTags($input: JobTagInput!) {
  changeJobTags(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "tags": "TagName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "changeJobTags": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Update Step

Description

Update a given Step of a job.

Required Role
Arguments
Name Description
input:UpdateJobStepInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation updateJobStep($input: UpdateJobStepInput!) {
  updateJobStep(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c",
    "stepTypeId": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
    "status": "PENDING",
    "results": {
      "fileInputs": [
        {
          "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
          "statistics": [
            {"key": "attributes", "value": "StatisticsValue", "pinned": false}
          ]
        }
      ],
      "taskInputs": [
        {
          "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
          "statistics": [
            {"key": "attributes", "value": "StatisticsValue", "pinned": true}
          ]
        }
      ]
    },
    "problems": {
      "genericProblems": [
        {
          "id": "93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18",
          "severity": "NONE",
          "status": "ACTIVE"
        }
      ],
      "taskProblems": [
        {
          "id": "93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18",
          "severity": "NONE",
          "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869"
        }
      ]
    }
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updateJobStep": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Update Job

Description

Update all information about a given job.

Required Role
Arguments
Name Description
input:UpdateJobInput! The input.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation updateJob($input: UpdateJobInput!) {
  updateJob(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "input": {
    "id": "6b930388-e713-4178-a29a-521e69da7096",
    "name": "PDO-01",
    "approval": "APPROVED",
    "status": "xyz789",
    "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
    "fileIds": [
      "cd9087eb-c882-4f76-a81e-7665752c2756"
    ],
    "statistics": [
      {
        "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c",
        "key": "attributes",
        "value": "StatisticsValue",
        "pinned": true
      }
    ],
    "steps": [
      {
        "jobId": "6b930388-e713-4178-a29a-521e69da7096",
        "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c",
        "stepTypeId": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
        "status": "PENDING",
        "results": {
          "fileInputs": [
            {
              "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
              "statistics": [
                {
                  "key": "attributes",
                  "value": "StatisticsValue",
                  "pinned": false
                }
              ]
            }
          ],
          "taskInputs": [
            {
              "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
              "statistics": [
                {
                  "key": "attributes",
                  "value": "StatisticsValue",
                  "pinned": true
                }
              ]
            }
          ]
        },
        "problems": {
          "genericProblems": [
            {
              "id": "93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18",
              "severity": "NONE",
              "status": "ACTIVE"
            }
          ],
          "taskProblems": [
            {
              "id": "93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18",
              "severity": "NONE",
              "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869"
            }
          ]
        }
      }
    ],
    "tags": "TagName",
    "expiryTime": "2024-04-24T12:10:16.181Z",
    "expiryDuration": {"unit": "MILLISECONDS", "length": 987.65}
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updateJob": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Archive Job

Description

Archive a given job.

Required Role
Arguments
Name Description
id:JobID! The ID of the job to archive.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
mutation archiveJob($id: JobID!) {
  archiveJob(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "id": "6b930388-e713-4178-a29a-521e69da7096"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveJob": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Managing Steps

Steps represent the basic operations during a product data onboarding. Steps are based on Step Types which are basic blue prints describing a particular operation during product data onboarding. Steps are shown as part of Jobs in the Onedot App.

Query Step Type

Description

Query information about a specific step type.

Arguments
Name Description
id:StepTypeID! The ID of the step type to request.
Response

200 OK
:
Successful

Returns:StepType!

Example Try now

Request Content Type:

application/json

Query
query stepType($id: StepTypeID!) {
  stepType(id: $id) {
    archived
    created
    modified
    versionId
    id
    shortName
    longName
    localisedLongNames {
      locale
      content
    }
    localisedShortNames {
      locale
      content
    }
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    key
  }
}
Variables
{
  "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "stepType": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
      "shortName": "Loading",
      "longName": "Loading Data",
      "localisedLongNames": [
        LocalisedMessage
      ],
      "localisedShortNames": [
        LocalisedMessage
      ],
      "creator": User,
      "key": "com.onedot.jobs.loading.step"
    }
  }
}

Query Step Types

Description

Query information about all step types.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:StepTypeConnection!

Example Try now

Request Content Type:

application/json

Query
query stepTypes(
  $pageSize: Int,
  $after: String
) {
  stepTypes(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    stepTypes {
      archived
      created
      modified
      versionId
      id
      shortName
      longName
      localisedLongNames {
        locale
        content
      }
      localisedShortNames {
        locale
        content
      }
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      key
    }
  }
}
Variables
{"pageSize": 987, "after": "abc123"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "stepTypes": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "stepTypes": [StepType]
    }
  }
}

Create Step Type

Description

Create a new step type.

Required Role
Arguments
Name Description
input:CreateStepTypeInput! The input.
Response

200 OK
:
Successful

Returns:StepType!

Example Try now

Request Content Type:

application/json

Query
mutation createStepType($input: CreateStepTypeInput!) {
  createStepType(input: $input) {
    archived
    created
    modified
    versionId
    id
    shortName
    longName
    localisedLongNames {
      locale
      content
    }
    localisedShortNames {
      locale
      content
    }
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    key
  }
}
Variables
{
  "input": {
    "key": "com.onedot.jobs.loading.step",
    "localisedLongNames": [
      {"locale": "DE", "content": "xyz789"}
    ],
    "localisedShortNames": [
      {"locale": "DE", "content": "xyz789"}
    ]
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createStepType": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
      "shortName": "Loading",
      "longName": "Loading Data",
      "localisedLongNames": [
        LocalisedMessage
      ],
      "localisedShortNames": [
        LocalisedMessage
      ],
      "creator": User,
      "key": "com.onedot.jobs.loading.step"
    }
  }
}

Update Step Type

Description

Update a given step type.

Required Role
Arguments
Name Description
input:UpdateStepTypeInput! The input.
Response

200 OK
:
Successful

Returns:StepType!

Example Try now

Request Content Type:

application/json

Query
mutation updateStepType($input: UpdateStepTypeInput!) {
  updateStepType(input: $input) {
    archived
    created
    modified
    versionId
    id
    shortName
    longName
    localisedLongNames {
      locale
      content
    }
    localisedShortNames {
      locale
      content
    }
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    key
  }
}
Variables
{
  "input": {
    "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
    "localisedLongNames": [
      {"locale": "DE", "content": "xyz789"}
    ],
    "localisedShortNames": [
      {"locale": "DE", "content": "abc123"}
    ]
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "updateStepType": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
      "shortName": "Loading",
      "longName": "Loading Data",
      "localisedLongNames": [
        LocalisedMessage
      ],
      "localisedShortNames": [
        LocalisedMessage
      ],
      "creator": User,
      "key": "com.onedot.jobs.loading.step"
    }
  }
}

Archive Step Type

Description

Archive a given step type.

Required Role
Arguments
Name Description
id:StepTypeID! The ID of the job step to archive.
Response

200 OK
:
Successful

Returns:StepType!

Example Try now

Request Content Type:

application/json

Query
mutation archiveStepType($id: StepTypeID!) {
  archiveStepType(id: $id) {
    archived
    created
    modified
    versionId
    id
    shortName
    longName
    localisedLongNames {
      locale
      content
    }
    localisedShortNames {
      locale
      content
    }
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    key
  }
}
Variables
{
  "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveStepType": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
      "shortName": "Loading",
      "longName": "Loading Data",
      "localisedLongNames": [
        LocalisedMessage
      ],
      "localisedShortNames": [
        LocalisedMessage
      ],
      "creator": User,
      "key": "com.onedot.jobs.loading.step"
    }
  }
}

Managing Tasks

Tasks are designed to capture User feedback about proposals issues by the Onedot Platform. Tasks are shown in the Onedot App.

Query Task

Description

Query information about a specific task.

Arguments
Name Description
id:TaskID! The ID of the task to request.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
query task($id: TaskID!) {
  task(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "task": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 987.65,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Query Tasks

Description

Query information about all tasks.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
Response

200 OK
:
Successful

Returns:TaskConnection!

Example Try now

Request Content Type:

application/json

Query
query tasks(
  $pageSize: Int,
  $after: String
) {
  tasks(
    pageSize: $pageSize,
    after: $after
  ) {
    cursor
    hasMore
    tasks {
      archived
      created
      modified
      versionId
      creator {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      modifier {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      assigned {
        ... on User {
        archived
        userId: id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
        ... on Group {
        archived
        groupId: id
        name
      }
      }
      id
      name
      description
      file {
        path
        archived
        created
        modified
        versionId
        id
        mimeType
        encoding
        name
        size
        endpointId
        loadAs
        downloadAs
      }
      status
      taskType
      measurements {
        referenceColumnId
        testColumnId
      }
      editingUser {
        archived
        id
        created
        email
        emailVerified
        userName
        firstName
        lastName
        userRoles
        firstSignIn
        lastSignIn
        invitingUserId
        invitingUserEmail
      }
      spentTime
      expiryTime
      expiryDuration {
        unit
        length
      }
      downloadAs
    }
  }
}
Variables
{"pageSize": 123, "after": "abc123"}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "tasks": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "tasks": [Task]
    }
  }
}

Create Task

Description

Create a new task.

Required Role
Arguments
Name Description
input:CreateTaskInput! The input.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation createTask($input: CreateTaskInput!) {
  createTask(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "input": {
    "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
    "name": "TaskName",
    "description": "Description",
    "taskType": "FEEDBACK",
    "dataSetId": "8c7187d3-a326-45cc-bb0a-9acb1388cf25"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "createTask": {
      "archived": true,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 987.65,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Rename Task

Description

Rename a given task.

Required Role
Arguments
Name Description
input:RenameTaskInput! The input.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation renameTask($input: RenameTaskInput!) {
  renameTask(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "input": {
    "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
    "name": "TaskName"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "renameTask": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 123.45,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Assign User

Description

Assign a User to solve a task.

Arguments
Name Description
input:TaskUserAssignmentInput! The input.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation assignTaskUser($input: TaskUserAssignmentInput!) {
  assignTaskUser(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "input": {
    "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
    "userId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
    "expiryTime": "2024-10-24T12:10:16.181Z",
    "expiryDuration": {"unit": "MILLISECONDS", "length": 987.65}
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "assignTaskUser": {
      "archived": false,
      "created": "2024-10-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 123.45,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Assign Group

Description

Assign a Group to solve a task.

Arguments
Name Description
input:TaskGroupAssignmentInput! The input.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation assignTaskGroup($input: TaskGroupAssignmentInput!) {
  assignTaskGroup(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "input": {
    "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
    "groupId": "55a60def-61a9-4627-9d08-5654d90bc335",
    "expiryTime": "2024-04-24T12:10:16.181Z",
    "expiryDuration": {"unit": "MILLISECONDS", "length": 123.45}
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "assignTaskGroup": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 123.45,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Unassign Task

Description

Unassign any User or Group from a task.

Required Role
Arguments
Name Description
id:TaskID! The ID of the task to unassign all users and groups.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation unassignTask($id: TaskID!) {
  unassignTask(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "unassignTask": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 987.65,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Set Status

Description

Set the Status of a task.

Arguments
Name Description
input:TaskStatusInput! The input.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation setTaskStatus($input: TaskStatusInput!) {
  setTaskStatus(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "input": {
    "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
    "status": "DRAFTING",
    "spentTime": 123.45
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setTaskStatus": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 987.65,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Download Task As

Description

Sets the file definition to specify how a task will be downloaded.

Arguments
Name Description
input:SetTaskDefinitionInput! The input.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation setTaskDownloadAs($input: SetTaskDefinitionInput!) {
  setTaskDownloadAs(input: $input) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "input": {
    "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
    "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "setTaskDownloadAs": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 987.65,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Archive Task

Description

Archive a given task.

Required Role
Arguments
Name Description
id:TaskID! The ID of the task to archive.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
mutation archiveTask($id: TaskID!) {
  archiveTask(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "archiveTask": {
      "archived": false,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 123.45,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Retrieving Results

Results can be either intermediate processing results in the form of feedback Tasks or final results produced by a Job.

Download Tasks

Description

Initiate a file transfer to download task contents from the Onedot Platform.

Arguments
Name Description
ids:[TaskID!]! The IDs of the tasks to download its contents.
Response

200 OK
:
Successful

Returns:[FileTransfer!]!

Example Try now

Request Content Type:

application/json

Query
mutation downloadTasks($ids: [TaskID!]!) {
  downloadTasks(ids: $ids) {
    id
    name
    mimeType
    url
    expiry
    method
    headers {
      name
      values
    }
  }
}
Variables
{
  "ids": [
    "528777c3-d3b3-4bba-a7b7-d05d64579869"
  ]
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "downloadTasks": [
      {
        "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
        "name": "FileName",
        "mimeType": "text/csv",
        "url": "https://app.onedot.com",
        "expiry": "2024-10-24T12:10:16.181Z",
        "method": "GET",
        "headers": [HttpHeader]
      }
    ]
  }
}

Download Results

Description

Initiate a file transfer to download results from the Onedot Platform.

Arguments
Name Description
input:DownloadResultsInput! The input.
Response

200 OK
:
Successful

Returns:[FileTransfer!]!

Example Try now

Request Content Type:

application/json

Query
mutation downloadResults($input: DownloadResultsInput!) {
  downloadResults(input: $input) {
    id
    name
    mimeType
    url
    expiry
    method
    headers {
      name
      values
    }
  }
}
Variables
{
  "input": {
    "jobId": "6b930388-e713-4178-a29a-521e69da7096",
    "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "downloadResults": [
      {
        "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
        "name": "FileName",
        "mimeType": "text/csv",
        "url": "https://app.onedot.com",
        "expiry": "2024-04-24T12:10:16.181Z",
        "method": "GET",
        "headers": [HttpHeader]
      }
    ]
  }
}

Retrieving Statistics

Statistics of product data onboardings such as the number of rows, columns, matches, etc. can be queried directly from a Job.

Query Statistics

Description

Query statistics about a specific Job.

Arguments
Name Description
id:JobID! The ID of the job to request.
Response

200 OK
:
Successful

Returns:Job!

Example Try now

Request Content Type:

application/json

Query
query job($id: JobID!) {
  job(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    tags {
      tagName
    }
    id
    name
    approval
    status
    provider {
      archived
      created
      modified
      versionId
      id
      name
      key
      logoId
      website
    }
    files {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    statistics {
      stepId
      statisticsType
      key
      value {
        ... on StringValue {
        string
      }
        ... on IntValue {
        int
      }
        ... on FloatValue {
        float
      }
        ... on BooleanValue {
        boolean
      }
      }
      pinned
    }
    steps {
      id
      status
    }
    pipeline {
      id
      name
      executionUser
    }
    expiryTime
    expiryDuration {
      unit
      length
    }
  }
}
Variables
{
  "id": "6b930388-e713-4178-a29a-521e69da7096"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "job": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-10-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "tags": [Tag],
      "id": "6b930388-e713-4178-a29a-521e69da7096",
      "name": "PDO-01",
      "approval": "APPROVED",
      "status": "PENDING",
      "provider": DataProvider,
      "files": [File],
      "statistics": [Statistics],
      "steps": [Step],
      "pipeline": PipelineDefinition,
      "expiryTime": "2024-04-24T12:10:16.181Z",
      "expiryDuration": Duration
    }
  }
}

Retrieving Measurements

Measurements of product data onboardings such as precision/recall of Onedot Platform proposals can be queried directly from a Task.

Query Measurements

Description

Query measurements about a specific Task.

Arguments
Name Description
id:TaskID! The ID of the task to request.
Response

200 OK
:
Successful

Returns:Task!

Example Try now

Request Content Type:

application/json

Query
query task($id: TaskID!) {
  task(id: $id) {
    archived
    created
    modified
    versionId
    creator {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    modifier {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    assigned {
      ... on User {
      archived
      userId: id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
      ... on Group {
      archived
      groupId: id
      name
    }
    }
    id
    name
    description
    file {
      path
      archived
      created
      modified
      versionId
      id
      mimeType
      encoding
      name
      size
      endpointId
      loadAs
      downloadAs
    }
    status
    taskType
    measurements {
      referenceColumnId
      testColumnId
      values {
        measurementType
        value {
          ... on StringValue {
          string
        }
          ... on IntValue {
          int
        }
          ... on FloatValue {
          float
        }
          ... on BooleanValue {
          boolean
        }
        }
      }
    }
    editingUser {
      archived
      id
      created
      email
      emailVerified
      userName
      firstName
      lastName
      userRoles
      firstSignIn
      lastSignIn
      invitingUserId
      invitingUserEmail
    }
    spentTime
    expiryTime
    expiryDuration {
      unit
      length
    }
    downloadAs
  }
}
Variables
{
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869"
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "task": {
      "archived": true,
      "created": "2024-04-24T12:10:16.181Z",
      "modified": "2024-04-24T12:10:16.181Z",
      "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
      "creator": User,
      "modifier": User,
      "assigned": [User],
      "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
      "name": "TaskName",
      "description": "Description",
      "file": File,
      "status": "DRAFTING",
      "taskType": "FEEDBACK",
      "measurements": Measurements,
      "editingUser": User,
      "spentTime": 987.65,
      "expiryTime": "2024-10-24T12:10:16.181Z",
      "expiryDuration": Duration,
      "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
    }
  }
}

Others

pipelineExecutionsByTimeRange

Description

Returns the available pipeline executions from the given time range.

Arguments
Name Description
pageSize:Int The optional page size, must be smaller or equal to 50.
after:String The optional cursor of the current connection after which to request more entities.
input:PipelineExecutionsByTimeRangeInput! The input.
Response

200 OK
:
Successful

Returns:PipelineExecutionConnection!

Example Try now

Request Content Type:

application/json

Query
query pipelineExecutionsByTimeRange(
  $pageSize: Int,
  $after: String,
  $input: PipelineExecutionsByTimeRangeInput!
) {
  pipelineExecutionsByTimeRange(
    pageSize: $pageSize,
    after: $after,
    input: $input
  ) {
    cursor
    hasMore
    pipelineExecutions {
      id
      pipelineId
      inputs {
        reference
      }
      outputs {
        reference
      }
      properties {
        property
        value
        values
      }
      status
      statusMessage
      results {
        reference
      }
      started
      ended
    }
  }
}
Variables
{
  "pageSize": 123,
  "after": "xyz789",
  "input": {
    "from": "2024-04-24T12:10:16.181Z",
    "to": "2024-10-24T12:10:16.181Z"
  }
}
Response Content Type:

application/json

Response Code:

200 OK

{
  "data": {
    "pipelineExecutionsByTimeRange": {
      "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
      "hasMore": true,
      "pipelineExecutions": [
        PipelineExecution
      ]
    }
  }
}

Schema Definitions

AddDataSetAttributeInput

Description

Represents the input for adding an attribute to a data set.

Fields
Input Field Description
name:AttributeName! The name of the attribute.
Example
{"name": "Column"}

AddedRows

Description

Represents a newly added row to a data set in the Onedot Platform. This is a JSON array with row objects containing key-value pairs, where the key is the ID of the column and the value is the value of the column in the row, e.g. [ { "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value", "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value" } ]

Example
[
  {
    "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
    "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
  }
]

Archivable

Description

Interface for all entities which support logical deletion, also known as archiving. Archived entities are not physically deleted to ensure referential integrity of configurations.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
Example
{"archived": false}

ArrayComparison

Description

Represents an array comparison on a leaf rule expression in the Onedot Platform.

Fields
Field Name Description
arrayComparisonName:ArrayComparisonType! The name of the array comparison.
Example
{"arrayComparisonName": "INCLUDES"}

ArrayComparisonType

Description

Represents the number comparison for a quality rule in the Onedot Platform.

Values
Enum Value Description

INCLUDES

The INCLUDES comparison, signalling that the value of specified property name must include the input values.
Example
"INCLUDES"

AssetExpression

Description

Represents an asset leaf rule expression of a quality rule in the Onedot Platform.

Fields
Field Name Description
negated:Boolean! Suggests if the expression is negated or not.
comparison:Comparison! The comparison of the leaf rule expression.
inputs:[QualityRuleInput!]! The inputs of the leaf rule expression.
assetPropertyName:AssetPropertyName! The asset property name of the rule expression, which specifies the type of the leaf rule.
Example
{
  "negated": false,
  "comparison": NumberComparison,
  "inputs": [QualityRuleInput],
  "assetPropertyName": "WIDTH"
}

AssetPropertyName

Description

Represents the asset property name for a quality rule in the Onedot Platform.

Values
Enum Value Description

WIDTH

The WIDTH asset property name.

HEIGHT

The HEIGHT asset property name.

DPI

The DPI asset property name.

RESOLUTION

The RESOLUTION asset property name.

FILE_TYPE

The FILE_TYPE asset property name.

RECORDED_DATE

The RECORDED_DATE asset property name.

EXPIRY_DATE

The EXPIRY_DATE asset property name.

LICENSE

The LICENSE asset property name.
Example
"WIDTH"

Assignable

Description

Interface for all entities which are assignable to users and groups. Assignable entities such as tasks support the notion of assigned and responsible user or group in a workflow.

Fields
Field Name Description
assigned:[UserOrGroup!] The optional users or groups assigned to the entity.
Possible Types
Assignable Types

Task

Example
{"assigned": [User]}

AttributeExpression

Description

Represents an attribute leaf rule expression of a quality rule in the Onedot Platform.

Fields
Field Name Description
negated:Boolean! Suggests if the expression is negated or not.
comparison:Comparison! The comparison of the leaf rule expression.
inputs:[QualityRuleInput!]! The inputs of the leaf rule expression.
attributePropertyName:AttributePropertyName! The attribute property name of the rule expression, which specifies the type of the leaf rule.
Example
{
  "negated": true,
  "comparison": NumberComparison,
  "inputs": [QualityRuleInput],
  "attributePropertyName": "COMPLETENESS"
}

AttributeID

Description

Represents a UUID of a data set attribute.

Example
"0ec1f137-71c0-4a99-99af-6afb338d8142"

AttributeName

Description

Represents a data set attribute name in the Onedot Platform.

Example
"Column"

AttributePropertyName

Description

Represents the attribute property name for a quality rule in the Onedot Platform.

Values
Enum Value Description

COMPLETENESS

The COMPLETENESS attribute property name.

MIN

The MIN attribute property name.

MAX

The MAX attribute property name.

AVERAGE

The AVERAGE attribute property name.

MEAN

The MEAN attribute property name.

STD_DEV

The STD_DEV attribute property name.

VALUE

The VALUE attribute property name.

MIN_VALUES

The MIN_VALUES attribute property name.

MAX_VALUES

The MAX_VALUES attribute property name.
Example
"COMPLETENESS"

Attributes

Description

The Attributes scalar type represents the attributes of a DataSet in JSON format.

Example
{
  "e93b1389-8228-41d2-9119-aa0ee89ba9e0": {"key": 0, "name": "Column 0"},
  "5f675146-d12f-4dac-b6b9-8507f5bafbfc": {"key": 1, "name": "Column 1"}
}

Boolean

Description

The Boolean scalar type represents true or false.

BooleanOperator

Description

Represents a Boolean operator in the Onedot Platform.

Values
Enum Value Description

AND

The AND operator.

OR

The OR operator.

XOR

The XOR operator.
Example
"AND"

BooleanValue

Description

Represents a boolean value in the Onedot Platform.

Fields
Field Name Description
boolean:Boolean! The boolean value.
Example
{"boolean": false}

ChangedColumns

Description

Represents a changed column in the Onedot Platform. This is a JSON object, where the key is the ID of the column, the value is an object containing the new name, e.g. { "076721a2-54fe-4227-af21-8da856db544e": { "name": "Changed Column Name" } }

Example
{"076721a2-54fe-4227-af21-8da856db544e": {"name": "Changed Column Name"}}

ChangedRows

Description

Represents a changed row in a data set in the Onedot Platform. This is a JSON object, where the key is the ID of the row, the value is an object containing key-value pairs, where the key is the ID of the column and the value is the value of the column in the row, e.g. { "8478f404-1574-4a6b-8274-b2b175c62509": { "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value", "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value" } }

Example
{
  "8478f404-1574-4a6b-8274-b2b175c62509": {
    "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
    "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
  }
}

ClearedFilterExpression

Description

Represents that the filter expression on an attribute in the Onedot Platform is cleared.

Fields
Field Name Description
cleared:Boolean! Suggests if the expression is cleared.
Example
{"cleared": false}

Collaborations

Description

Represents the collaborations of a user in the Onedot Platform. These collaborations contain the collaborators and the groups of the user.

Fields
Field Name Description
groups:[Group!]! The groups of the user.
collaborators:[User!]! The collaborators of the user.
Example
{
  "groups": [Group],
  "collaborators": [User]
}

Comparison

Description

Represents a comparison on a leaf rule expression in the Onedot Platform.

CompositeFilterExpression

Description

Represents a composite filter expression on an attribute in the Onedot Platform.

Fields
Field Name Description
negated:Boolean! Suggests if the expression is negated or not.
operator:BooleanOperator! The boolean operator of the composite filter expression.
operands:[ConfigurableFilterExpression!]! The operands of the composite filter expression.
Example
{
  "negated": false,
  "operator": "AND",
  "operands": [
    CompositeFilterExpression
  ]
}

CompositeQualityRuleExpression

Description

Represents a composite rule expression of a quality rule in the Onedot Platform.

Fields
Field Name Description
negated:Boolean! Suggests if the expression is negated or not.
operator:BooleanOperator! The boolean operator of the composite rule expression.
operands:[QualityRuleExpression!]! The operands of the composite rule expression.
Example
{
  "negated": false,
  "operator": "AND",
  "operands": [DataSetExpression]
}

ConfigurableFilterExpression

Description

Represents a configurable filter expression in the Onedot Platform. Configurable filter expressions store the filters applied on a data set.

Contactable

Description

Interface for all entities which support contacting of users and groups. Those contacts are organised in groups and eligible for collaboration on files or tasks.

Fields
Field Name Description
contacts:[UserOrGroup!]! The contacts assigned to the entity.
Possible Types
Contactable Types

DataProvider

Example
{"contacts": [User]}

Content

Description

The Content scalar type represents the content of a DataSet in JSON format.

Example
{
  "88ba1ada-394c-4fa1-aa1d-49c16277fa94": ["col0 row0", "col1 row0"],
  "5f0a4d5e-2fb7-4132-84e4-e37d08bc74f0": ["col0 row1", "col1 row1"]
}

CopyJobInput

Description

Represents the input for copying a job and adjusting it.

Fields
Input Field Description
jobId:JobID! The ID of the job to copy the new job from.
name:String! The job name.
fileIds:[FileID!]! The IDs of the input files to process.
tags:[String!] The optional tags to set.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "name": "PDO-01",
  "fileIds": [
    "cd9087eb-c882-4f76-a81e-7665752c2756"
  ],
  "tags": ["TagName"]
}

CreateFileDefinitionInput

Description

Represents the input for creating a file definitions.

Fields
Input Field Description
name:String! The name of the file definition.
mimeType:MimeType! The MIME type of the file definition.
encoding:Encoding The optional encoding of the file definition.
reader:FileReaderConfigurationInput The optional configuration for reading a file.
writer:FileWriterConfigurationInput The optional configuration for writing a file.
Example
{
  "name": "FileDefinitionName",
  "mimeType": "text/csv",
  "encoding": "UTF-8",
  "reader": FileReaderConfigurationInput,
  "writer": FileWriterConfigurationInput
}

CreateFolderInput

Description

Represents the input for creating a folder.

Fields
Input Field Description
parentId:FolderID! The ID of the parent folder where to create the new folder.
name:String! The name of the folder.
visibility:Visibility The optional visibility of the folder.
Example
{
  "parentId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "name": "FolderName",
  "visibility": "PUBLIC"
}

CreateJobInput

Description

Represents the input for creating a job.

Fields
Input Field Description
name:String! The job name.
providerId:ProviderID The optional ID the data provider to associate.
executionId:PipelineExecutionID The optional ID of the pipeline execution to use.
pipelineId:PipelineDefinitionID The optional ID of the pipeline definition to use.
stepTypeIds:[StepTypeID!]! The IDs of the job steps to execute.
fileIds:[FileID!] The optional IDs of the input files to process.
tags:[String!] The optional tags to set.
expiryTime:DateTime The optional time stamp when the job expires (in ISO 8601 format).
expiryDuration:JobExpiryDurationInput The optional expiry duration of the job.
Example
{
  "name": "PDO-01",
  "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "executionId": "0098adc5-cd79-42e3-9ad3-400d276ae53f",
  "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
  "stepTypeIds": [
    "d3db9fcf-7589-4298-bd86-155388b8c9a0"
  ],
  "fileIds": [
    "cd9087eb-c882-4f76-a81e-7665752c2756"
  ],
  "tags": ["TagName"],
  "expiryTime": "2024-10-24T12:10:16.181Z",
  "expiryDuration": JobExpiryDurationInput
}

CreatePipelineDefinitionInput

Description

Represents the input for creating a pipeline definition.

Fields
Input Field Description
recipeUri:String! The URI to the resolved recipe or plan.
name:String The optional name of the pipeline definition.
description:String The optional description of the pipeline definition.
inputs:[PipelineDefinitionInputInput!] The optional expected inputs.
outputs:[PipelineDefinitionOutputInput!] The optional expected outputs.
properties:[PipelineDefinitionPropertyInput!] The optional properties of the pipeline definition.
warningTimeout:DurationInput Receive a warning if the execution takes longer than specified.
failedTimeout:DurationInput The optional execution will be marked as failed if it takes longer than specified.
executionUser:PipelineExecutionUser The optional user the pipeline will be executed with, if not specified, the pipeline will be executed with the user who triggers the execution.
Example
{
  "recipeUri": "abc123",
  "name": "xyz789",
  "description": "xyz789",
  "inputs": [
    PipelineDefinitionInputInput
  ],
  "outputs": [
    PipelineDefinitionOutputInput
  ],
  "properties": [
    PipelineDefinitionPropertyInput
  ],
  "warningTimeout": DurationInput,
  "failedTimeout": DurationInput,
  "executionUser": "PIPELINE_DEFINITION_CREATOR"
}

CreatePipelineExecutionInput

Description

Represents the input for creating a pipeline execution

Fields
Input Field Description
pipelineId:PipelineDefinitionID! The ID of the pipeline definition.
inputs:[PipelineExecutionInputInput!] The optional inputs of the pipeline execution.
outputs:[PipelineExecutionOutputInput!] The optional outputs of the pipeline execution.
properties:[PipelineExecutionPropertyInput!] The optional properties of the pipeline execution.
Example
{
  "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
  "inputs": [
    PipelineExecutionInputInput
  ],
  "outputs": [
    PipelineExecutionOutputInput
  ],
  "properties": [
    PipelineExecutionPropertyInput
  ]
}

CreateProviderInput

Description

Represents the input for creating a provider.

Fields
Input Field Description
name:String! The name of the provider.
key:String The optional key of the provider.
tags:[String!] The optional tags to set.
website:URL The optional website url.
Example
{
  "name": "ProviderName",
  "key": "provider-name",
  "tags": ["TagName"],
  "website": "https://app.onedot.com"
}

CreateStepTypeInput

Description

Represents the input for creating a job step.

Fields
Input Field Description
key:StepTypeKey! The key of the step type.
localisedLongNames:[LocalisedMessageInput!]! The localised long names of the step type.
localisedShortNames:[LocalisedMessageInput!]! The localised short names of the step type.
Example
{
  "key": "com.onedot.jobs.loading.step",
  "localisedLongNames": [
    LocalisedMessageInput
  ],
  "localisedShortNames": [
    LocalisedMessageInput
  ]
}

CreateSubGroupsInput

Description

Represents the input for creating a new subgroup under an existing group.

Fields
Input Field Description
groupId:GroupID! The ID of the group to create subgroups in.
names:[String!]! The names of the newly created subgroups.
Example
{
  "groupId": "55a60def-61a9-4627-9d08-5654d90bc335",
  "names": ["GroupName"]
}

CreateTaskInput

Description

Represents the input for creating a task.

Fields
Input Field Description
fileId:FileID The optional optional ID of a file to create this task from.
name:String! The task name.
description:String The optional task description.
taskType:TaskType! The task type.
dataSetId:DataSetID The optional optional ID of a data set to create this task from.
Example
{
  "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "name": "TaskName",
  "description": "Description",
  "taskType": "FEEDBACK",
  "dataSetId": "8c7187d3-a326-45cc-bb0a-9acb1388cf25"
}

CsvFileReaderConfiguration

Description

Represents a reader configuration for a CSV file in the Onedot Platform.

Fields
Field Name Description
fieldDelimiter:String The optional delimiter between values.
quoteCharacter:String Values that contain the field delimiter must be quoted. This defines the quote character.
lineSeparator:String The optional line separator.
withHeaderRow:Boolean Whether to treat the first row as a header with column names or not.
headerLabels:[String!] Optional column names when the first row is not treated as a header row.
nullValues:[String!] The optional null values. Cells matching any of these values will be read as null.
trimWhiteSpace:Boolean When true, trailing whitespaces and carriage returns will be stripped from values. Any whitespace characters and new line delimiters are now removed from header cells by default.
multiLine:Boolean Set to true when a data row may be in multiple lines. Set to false when each csv row corresponds to a single row of data to improve performance.
Example
{
  "fieldDelimiter": "abc123",
  "quoteCharacter": "abc123",
  "lineSeparator": "abc123",
  "withHeaderRow": false,
  "headerLabels": ["abc123"],
  "nullValues": ["xyz789"],
  "trimWhiteSpace": false,
  "multiLine": false
}

CsvFileReaderConfigurationInput

Description

Represents the input for configuring the reading of a CSV file.

Fields
Input Field Description
fieldDelimiter:String The optional delimiter between values.
quoteCharacter:String Values that contain the field delimiter must be quoted. This defines the quote character.
lineSeparator:String The optional line separator.
withHeaderRow:Boolean Whether to treat the first row as a header with column names or not.
headerLabels:[String!] Optional column names when the first row is not treated as a header row.
nullValues:[String!] The optional null values. Cells matching any of these values will be read as null.
trimWhiteSpace:Boolean When true, trailing whitespaces and carriage returns will be stripped from values.
multiLine:Boolean Set to true when a data row may be in multiple lines. Set to false when each csv row corresponds to a single row of data to improve performance.
Example
{
  "fieldDelimiter": "xyz789",
  "quoteCharacter": "xyz789",
  "lineSeparator": "xyz789",
  "withHeaderRow": false,
  "headerLabels": ["abc123"],
  "nullValues": ["abc123"],
  "trimWhiteSpace": true,
  "multiLine": true
}

CsvFileWriterConfiguration

Description

Represents a writer configuration for a CSV file in the Onedot Platform.

Fields
Field Name Description
fieldDelimiter:String The optional character to use as a data value delimiter.
quoteCharacter:String When a cell value contains the field delimiter or line separator, it must be surrounded in a quoting character. This sets the quoting character
lineSeparator:String The optional character to use as a data row delimiter.
forceQuote:Boolean Whether to force quote or not. If true, all values will be surrounded with quote characters.
Example
{
  "fieldDelimiter": "abc123",
  "quoteCharacter": "xyz789",
  "lineSeparator": "xyz789",
  "forceQuote": false
}

CsvFileWriterConfigurationInput

Description

Represents the input for configuring the writing of a CSV file.

Fields
Input Field Description
fieldDelimiter:String The optional character to use as a data value delimiter.
quoteCharacter:String When a cell value contains the field delimiter or line separator, it must be surrounded in a quoting character. This sets the quoting character.
lineSeparator:String The optional character to use as a data row delimiter.
forceQuote:Boolean Whether to force quote or not. If true, all values will be surrounded with quote characters.
Example
{
  "fieldDelimiter": "abc123",
  "quoteCharacter": "abc123",
  "lineSeparator": "xyz789",
  "forceQuote": false
}

DataProvider

Description

Represents a data provider in the Onedot Platform. Data providers describe entities providing input files for jobs and feature contact users or groups for collaborative task editing by several parties connected on the Onedot Platform.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
tags:[Tag!]! The tags of the entity.
contacts:[UserOrGroup!]! The contacts assigned to the entity.
id:ProviderID! The ID of the provider.
creator:User! The user who created the provider.
modifier:User The optional user who modified the provider last.
name:String! The name of the provider.
key:String The optional key of the provider.
logoId:LogoID The optional logo of the provider.
website:URL The optional website of the provider.
Example
{
  "archived": false,
  "created": "2024-10-24T12:10:16.181Z",
  "modified": "2024-10-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "tags": [Tag],
  "contacts": [User],
  "id": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "creator": User,
  "modifier": User,
  "name": "ProviderName",
  "key": "provider-name",
  "logoId": "52a65445-e01b-435c-9249-708ed7c6b1d8",
  "website": "https://app.onedot.com"
}

DataSet

Description

Represents a data set attached to a file, task or job step in the Onedot Platform. Data sets are immutable collections of data rows organised in columns and cells, optimised for efficient access. Any operation on data sets such as editing cells will generate a new data set, maintaining origin of data sets and their lineage. Objects such as DataFiles, DictionaryFiles and Tasks store their data in data sets.

Fields
Field Name Description
id:DataSetID! The ID of the data set.
attributes:Attributes! The attributes of the data set, this is an object, where the key is the ID of the attribute. One attribute object contains the name of the attribute and a key, which can be used to get the value of the attribute from the content.
content:Content! The content of the data set, this is an object, where the key is the ID of the rows and the values are arrays. The value of an attribute can be obtained from the row by using the key property of the attribute as the index of the array.
Example
{
  "id": "8c7187d3-a326-45cc-bb0a-9acb1388cf25",
  "attributes": {
    "e93b1389-8228-41d2-9119-aa0ee89ba9e0": {"key": 0, "name": "Column 0"},
    "5f675146-d12f-4dac-b6b9-8507f5bafbfc": {"key": 1, "name": "Column 1"}
  },
  "content": {
    "88ba1ada-394c-4fa1-aa1d-49c16277fa94": ["col0 row0", "col1 row0"],
    "5f0a4d5e-2fb7-4132-84e4-e37d08bc74f0": ["col0 row1", "col1 row1"]
  }
}

DataSetExpression

Description

Represents a data set leaf rule expression of a quality rule in the Onedot Platform.

Fields
Field Name Description
negated:Boolean! Suggests if the expression is negated or not.
comparison:Comparison! The comparison of the leaf rule expression.
inputs:[QualityRuleInput!]! The inputs of the leaf rule expression.
dataSetPropertyName:DataSetPropertyName! The data set property name of the rule expression, which specifies the type of the leaf rule.
Example
{
  "negated": true,
  "comparison": NumberComparison,
  "inputs": [QualityRuleInput],
  "dataSetPropertyName": "ATTRIBUTES"
}

DataSetID

Description

Represents a UUID of a data set.

Example
"8c7187d3-a326-45cc-bb0a-9acb1388cf25"

DataSetPropertyName

Description

Represents the dat set property name for a quality rule in the Onedot Platform.

Values
Enum Value Description

ATTRIBUTES

The ATTRIBUTES data set property name.

ROWS

The ROWS data set property name.

MIN_OVERALL_COMPLETENESS

The MIN_OVERALL_COMPLETENESS data set property name.

MAX_OVERALL_COMPLETENESS

The MAX_OVERALL_COMPLETENESS data set property name.

AVERAGE_OVERALL_COMPLETENESS

The AVERAGE_OVERALL_COMPLETENESS data set property name.

MEAN_OVERALL_COMPLETENESS

The MEAN_OVERALL_COMPLETENESS data set property name.

STD_DEV_OVERALL_COMPLETENESS

The STD_DEV_OVERALL_COMPLETENESS data set property name.
Example
"ATTRIBUTES"

DataSetStatus

Description

Represents a response status when requesting a data set in the Onedot Platform. If the data set does not exist yet, it will be created automatically by the Onedot Platform, in which case the returned status is CREATING. Clients can poll the query with a recommended delay of 10s until the returned status is SUCCESS, in which case dataset will be set to the newly associated data set.

Values
Enum Value Description

SUCCESS

The SUCCESS status, signalling that requesting the data set was successful.

CREATING

The CREATING status, signalling that the creation of the data set is still in progress.
Example
"SUCCESS"

DataSetWithStatus

Description

Represents a data set with status code in the Onedot Platform.

Fields
Field Name Description
dataSet:DataSet The optional data set.
status:DataSetStatus! The status of the response.
Example
{
  "dataSet": DataSet,
  "status": "SUCCESS"
}

DateTime

Description

Represents an ISO 8601 time stamp as a string.

Example
"2024-04-24T12:10:16.181Z"

DownloadResultsInput

Description

Represents the input for downloading results.

Fields
Input Field Description
jobId:JobID! The ID of the job.
stepId:StepID! The ID of the step.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c"
}

Duration

Description

Represents a duration in the Onedot Platform.

Fields
Field Name Description
unit:DurationUnit! The unit in which the length of the duration is given.
length:Float! The length of the duration.
Example
{"unit": "MILLISECONDS", "length": 123.45}

DurationInput

Description

Represents the input for a task expiry duration.

Fields
Input Field Description
unit:DurationUnit! The unit in which the length of the duration is given.
length:Float! The length of the duration.
Example
{"unit": "MILLISECONDS", "length": 123.45}

DurationUnit

Description

Represents the unit of a duration length in the Onedot Platform.

Values
Enum Value Description

MILLISECONDS

The MILLISECONDS unit, signalling that the length of the duration is given in milliseconds.

SECONDS

The SECONDS unit, signalling that the length of the duration is given in seconds.

MINUTES

The MINUTES unit, signalling that the length of the duration is given in minutes.

HOURS

The HOURS unit, signalling that the length of the duration is given in hours.

DAYS

The DAYS unit, signalling that the length of the duration is given in days.
Example
"MILLISECONDS"

EmailAddress

Description

Represents an email address.

Example
"amanda.taylor@onedot.com"

Encoding

Description

Represents a URL. NOTE: The encodings supported by the Onedot Platform can be found here.

Example
"UTF-8"

EndpointID

Description

Represents a UUID of an Endpoint.

Example
"a6f706c8-4ce9-4925-bf86-d58f4cd516c4"

ExcelFileReaderConfiguration

Description

Represents a reader configuration for an Excel file in the Onedot Platform.

Fields
Field Name Description
withHeaderRow:Boolean Set to true when the data in the Excel sheet pages contain a header row.
headerSeparator:String If supplied, you can define what separator will be used in case you have header located on multiple rows.
nullValues:[String!] Values matching any in this list will be treated as null.
dataAddresses:[String!] The optional data addresses to specify where to read the data from. See https://support.microsoft.com/en-us/office/address-function-d0c26c0d-3991-446b-8de4-ab46431d4f89 for more details.
unmergeCells:Boolean Set to true to automatically unmerge any merged cells.
Example
{
  "withHeaderRow": true,
  "headerSeparator": "xyz789",
  "nullValues": ["xyz789"],
  "dataAddresses": ["xyz789"],
  "unmergeCells": true
}

ExcelFileReaderConfigurationInput

Description

Represents the input for configuring the reading of an Excel file.

Fields
Input Field Description
withHeaderRow:Boolean Set to true when the data contains a header row.
headerSeparator:String If supplied, you can define what separator will be used in case you have header located on multiple rows.
nullValues:[String!] Values matching any in this list will be treated as null.
dataAddresses:[String!] The optional data addresses to specify where to read the data from. See https://support.microsoft.com/en-us/office/address-function-d0c26c0d-3991-446b-8de4-ab46431d4f89 for more details.
unmergeCells:Boolean Set to true to automatically unmerge any merged cells.
Example
{
  "withHeaderRow": true,
  "headerSeparator": "xyz789",
  "nullValues": ["xyz789"],
  "dataAddresses": ["xyz789"],
  "unmergeCells": true
}

ExcelFileWriterConfiguration

Description

Represents a writer configuration for an Excel file in the Onedot Platform.

Fields
Field Name Description
headerType:HeaderType The optional type of the header.
Example
{"headerType": "NONE"}

ExcelFileWriterConfigurationInput

Description

Represents the input for configuring the writing of an Excel file.

Fields
Input Field Description
headerType:HeaderType The optional type of the header.
Example
{"headerType": "NONE"}

File

Description

Represents a file in the Onedot Platform. Files represent data to process and transform, or data such as mapping, synonym tables, dictionaries, etc.

Fields
Field Name Description
path:Path The optional path to the location of the folder in the specified endpoint. Null when the endpointId is not defined.
archived:Boolean! Whether the entity is archived or not.
creator:User The optional user who created the entity.
modifier:User The optional user who modified the entity last.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
id:FileID! The ID of the file.
mimeType:MimeType! The MIME type of the file.
encoding:Encoding The optional encoding of the file.
name:String! The name of the file.
folder:Folder! The folder of the file.
size:FileSize The optional file size (in bytes).
endpointId:EndpointID The optional ID of the endpoint which to retrieve the file from.
loadAs:FileDefinitionID The optional ID of the file definition describing how to load the file.
downloadAs:FileDefinitionID The optional ID of the file definition describing how to download the file.
Example
{
  "path": "/home/folder",
  "archived": true,
  "creator": User,
  "modifier": User,
  "created": "2024-04-24T12:10:16.181Z",
  "modified": "2024-10-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "mimeType": "text/csv",
  "encoding": "UTF-8",
  "name": "FileName",
  "folder": Folder,
  "size": 8946,
  "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4",
  "loadAs": "d0670650-a216-4929-bfac-74af7170115e",
  "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
}

FileConnection

Description

Represents a connection to request files using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
files:[File!] The optional requested files, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": true,
  "files": [File]
}

FileDefinition

Description

Represents a file definition in the Onedot Platform. File definitions represent how to ingest and export files and tasks.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
creator:User! The user who created the entity.
modifier:User The optional user who modified the entity last.
id:FileDefinitionID! The ID of the file definition.
name:String! The name of the file definition.
mimeType:MimeType! The MIME type of the file definition.
encoding:Encoding! The encoding of the file definition.
reader:FileReaderConfiguration The optional configuration for reading a file.
writer:FileWriterConfiguration The optional configuration for writing a file.
Example
{
  "archived": true,
  "created": "2024-04-24T12:10:16.181Z",
  "modified": "2024-04-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "creator": User,
  "modifier": User,
  "id": "d0670650-a216-4929-bfac-74af7170115e",
  "name": "FileDefinitionName",
  "mimeType": "text/csv",
  "encoding": "UTF-8",
  "reader": ExcelFileReaderConfiguration,
  "writer": ExcelFileWriterConfiguration
}

FileDefinitionConnection

Description

Represents a connection to request file definitions using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
fileDefinitions:[FileDefinition!] The optional requested file definitions, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": true,
  "fileDefinitions": [
    FileDefinition
  ]
}

FileDefinitionID

Description

Represents a UUID of a file definition.

Example
"d0670650-a216-4929-bfac-74af7170115e"

FileID

Description

Represents a UUID of a file.

Example
"cd9087eb-c882-4f76-a81e-7665752c2756"

FileReaderConfiguration

Description

Represents a reader configuration for a file in the Onedot Platform.

FileReaderConfigurationInput

Description

Represents the input for configuring the reading of a file.

Fields
Input Field Description
excel:ExcelFileReaderConfigurationInput The optional configuration for an Excel file.
csv:CsvFileReaderConfigurationInput The optional configuration for a CSV file.

FileSize

Description

The FileSize scalar type implements file sizes (in bytes) as 52-bit integers.

Example
8946

FileTransfer

Description

Represents a file transfer in the Onedot Platform.

Fields
Field Name Description
id:FileID! The ID of the file to transfer.
name:String! The name of the file to transfer.
mimeType:MimeType! The MIME type of the file to transfer.
url:URL! The URL to transfer file from or to.
expiry:DateTime! The time the initiated file transfer expires.
method:HttpMethod! The HTTP method to use for the file transfer.
headers:[HttpHeader!]! The HTTP headers to specify for the file transfer.
Example
{
  "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "name": "FileName",
  "mimeType": "text/csv",
  "url": "https://app.onedot.com",
  "expiry": "2024-10-24T12:10:16.181Z",
  "method": "GET",
  "headers": [HttpHeader]
}

FileWriterConfiguration

Description

Represents a writer configuration for a file in the Onedot Platform.

FileWriterConfigurationInput

Description

Represents the input for configuring the writing of a file.

Fields
Input Field Description
excel:ExcelFileWriterConfigurationInput The optional configuration for an Excel file.
csv:CsvFileWriterConfigurationInput The optional configuration for a CSV file.

FilterTarget

Description

Represents a target of a filter in the Onedot Platform.

Values
Enum Value Description

EVERY_VALUE

The every value target, signalling that the target of the filtering is every value.

SOME_VALUE

The some value target, signalling that the target of the filtering is some of the values.

EVERY_ALLOWED_VALUE

The every allowed value target, signalling that the target of the filtering is every allowed value.

SOME_ALLOWED_VALUE

The some allowed value target, signalling that the target of the filtering is some of the allowed values.
Example
"EVERY_VALUE"

FilterTermModifier

Description

Represents a term modifier of a filter in the Onedot Platform.

Values
Enum Value Description

MATCH_CASE

The match case term modifier, signalling that the filtering will be case sensitive.

MATCH_WORD

The match word term modifier, signalling that the filtering will find the exact same values.

REGEXP

The regexp term modifier, signalling that the filtering will happen with a regular expression.

LEFT_CLOSED

The left closed term modifier, signalling that the filtered values have to begin with the give value.

RIGHT_CLOSED

The right closed term modifier, signalling that the filtered values have to end with the give value.
Example
"MATCH_CASE"

FilterType

Description

Represents a type of a filter in the Onedot Platform.

Values
Enum Value Description

EQUALS

The equal filter type, signalling that the equal values are filtered.

BEGINS_WITH

The begins with filter type, signalling that the values that begins with the given value are filtered.

CONTAINS

The contains filter type, signalling that the values that contain the given value are filtered.

ENDS_WITH

The ends with filter type, signalling that the values that end with the given value are filtered.

IS_BETWEEN

The is between filter type, signalling that the values that are between the given values are filtered.
Example
"EQUALS"

Float

Description

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

Example
123.45

FloatValue

Description

Represents a float value in the Onedot Platform.

Fields
Field Name Description
float:Float! The float value.
Example
{"float": 987.65}

Folder

Description

Represents a folder in the Onedot Platform. Folders organise data files and dictionary files in a hierarchy similar to a file system.

Fields
Field Name Description
path:Path The optional path to the location of the folder in the specified endpoint. Null when the endpointId is not defined.
archived:Boolean! Whether the entity is archived or not.
creator:User The optional user who created the entity.
modifier:User The optional user who modified the entity last.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
id:FolderID! The ID of the folder.
parent:Folder The optional parent folder.
name:String! The name of the folder.
size:FileSize The optional cumulative size (in bytes) of the folder.
endpointId:EndpointID The optional ID of the endpoint which to retrieve the folder from.
Example
{
  "path": "/home/folder",
  "archived": true,
  "creator": User,
  "modifier": User,
  "created": "2024-04-24T12:10:16.181Z",
  "modified": "2024-04-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "parent": Folder,
  "name": "FolderName",
  "size": 8946,
  "endpointId": "a6f706c8-4ce9-4925-bf86-d58f4cd516c4"
}

FolderConnection

Description

Represents a connection to request folders using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
folders:[Folder!] The optional requested folders, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": false,
  "folders": [Folder]
}

FolderID

Description

Represents a UUID of a folder.

Example
"0fab391e-581f-44cd-a4a5-5e18491c6e09"

GenericProblemInput

Description

Represents the input for creating a generic problem.

Fields
Input Field Description
id:ProblemID The optional ID of the existing problem to be updated.
severity:Severity! The severity of the problem.
status:GenericProblemStatus! The status of the problem.
Example
{
  "id": "93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18",
  "severity": "NONE",
  "status": "ACTIVE"
}

GenericProblemStatus

Description

Represents a severity status in the Onedot Platform.

Values
Enum Value Description

ACTIVE

The active status.

INACTIVE

The inactive status.
Example
"ACTIVE"

Group

Description

Represents a group in the Onedot Platform. Groups can be registered explicitly or maintained in a directory service such as Microsoft Active Directory or any LDAP-compatible directory service.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
id:GroupID! The ID of the group.
name:String! The group name.
subgroups:[Group!] The optional group subgroups.
attributes:[GroupAttributes!] The optional group attributes.
Example
{
  "archived": true,
  "id": "55a60def-61a9-4627-9d08-5654d90bc335",
  "name": "GroupName",
  "subgroups": [Group],
  "attributes": [GroupAttributes]
}

GroupAttributes

Description

Represents a group's attributes in the Onedot Platform.

Fields
Field Name Description
name:String! The name of the attribute.
value:String! The value of the attribute.
Example
{"name": "Input", "value": "xyz789"}

GroupConnection

Description

Represents a connection to request groups using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
groups:[Group!] The optional requested groups, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": true,
  "groups": [Group]
}

GroupID

Description

Represents a UUID of a group.

Example
"55a60def-61a9-4627-9d08-5654d90bc335"

HeaderType

Description

Represents the type of a header for an exported Excel file in the Onedot Platform.

Values
Enum Value Description

NONE

No header. The data will be exported without a column name header.

SIMPLE

Simple header. The first row in the output file will contain column names.

AUTO_FILTER

The first row in the exported file will contain column names, and an Excel auto filter will be setup.
Example
"NONE"

HttpHeader

Description

Represents a HTTP header.

Fields
Field Name Description
name:String! The name of the HTTP header.
values:[String!] The optional corresponding values of the HTTP header.
Example
{"name": "HeaderName", "values": ["Value"]}

HttpMethod

Description

Represents a supported HTTP method.

Values
Enum Value Description

GET

The GET HTTP method.

PUT

The PUT HTTP method.
Example
"GET"

Int

Description

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

Example
987

IntValue

Description

Represents an integer value in the Onedot Platform.

Fields
Field Name Description
int:Int! The integer value.
Example
{"int": 123}

Job

Description

Represents a data processing job in the Onedot Platform. Jobs are the unit of execution and describe a particular instance of a data pipeline working on a set of input files and producing a set of output files. The data transformations being executed are described in a recipe and implemented in job steps.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
creator:User! The user who created the entity.
modifier:User The optional user who modified the entity last.
tags:[Tag!]! The tags of the entity.
id:JobID! The ID of the job.
name:String! The job name.
approval:JobApproval! The job approval status.
status:PipelineExecutionStatus! The pipeline execution status of the job. Use the Pipeline Execution's status instead.
provider:DataProvider The optional data provider associated with the job.
files:[File!] The optional job input files.
statistics:[Statistics!] The optional job statistics.
steps:[Step!]! The job steps.
pipeline:PipelineDefinition The optional pipeline definition of the job.
expiryTime:DateTime The time stamp when the job expires (in ISO 8601 format).
expiryDuration:Duration The optional expiry duration of the job.
Example
{
  "archived": true,
  "created": "2024-10-24T12:10:16.181Z",
  "modified": "2024-04-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "creator": User,
  "modifier": User,
  "tags": [Tag],
  "id": "6b930388-e713-4178-a29a-521e69da7096",
  "name": "PDO-01",
  "approval": "APPROVED",
  "status": "PENDING",
  "provider": DataProvider,
  "files": [File],
  "statistics": [Statistics],
  "steps": [Step],
  "pipeline": PipelineDefinition,
  "expiryTime": "2024-10-24T12:10:16.181Z",
  "expiryDuration": Duration
}

JobApproval

Description

Represents a job approval in the Onedot Platform.

Values
Enum Value Description

APPROVED

The approved status, signalling that the job has been approved and any results have been accepted.

DISCARDED

The discarded status, signalling that the job has been discarded for some reason.

REJECTED

The rejected status, signalling that the job has been rejected for some reason.

NONE

The none status, signalling that no approval has been recorded yet for the job.
Example
"APPROVED"

JobApprovalInput

Description

Represents the input for changing the job approval.

Fields
Input Field Description
jobId:JobID! The ID of the job to change.
approval:JobApproval! The new job approval.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "approval": "APPROVED"
}

JobConnection

Description

Represents a connection to request jobs using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
jobs:[Job!] The optional requested jobs, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": false,
  "jobs": [Job]
}

JobExpiryDurationInput

Description

Represents the input for a job expiry duration.

Fields
Input Field Description
unit:DurationUnit! The unit in which the length of the duration is given.
length:Float! The length of the duration.
Example
{"unit": "MILLISECONDS", "length": 987.65}

JobID

Description

Represents a UUID of a job.

Example
"6b930388-e713-4178-a29a-521e69da7096"

JobStatusInput

Description

Represents the input for changing the job status.

Fields
Input Field Description
jobId:JobID! The ID of the job to change.
status:String! The new job status.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "status": "abc123"
}

JobTagInput

Description

Represents the input for changing the job tags.

Fields
Input Field Description
jobId:JobID! The ID of the job to change.
tags:[String!]! The tags to set.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "tags": ["TagName"]
}

LeafFilterExpression

Description

Represents a leaf filter expression on an attribute in the Onedot Platform.

Fields
Field Name Description
negated:Boolean! Suggests if the expression is negated or not.
filterTarget:FilterTarget The optional target of the filtering.
filterType:FilterType! The type of the filter.
modifiers:[FilterTermModifier!] The optional modifiers of the filter term.
terms:[String!]! The terms of the filter expression.
Example
{
  "negated": false,
  "filterTarget": "EVERY_VALUE",
  "filterType": "EQUALS",
  "modifiers": ["MATCH_CASE"],
  "terms": ["xyz789"]
}

Locale

Description

Represents a locale in the Onedot Platform.

Values
Enum Value Description

DE

German

EN

English
Example
"DE"

LocalisedMessage

Description

Represents a localised message in the Onedot Platform.

Fields
Field Name Description
locale:Locale! The locale of the message.
content:String! The content of the message.
Example
{"locale": "DE", "content": "abc123"}

LocalisedMessageInput

Description

Represents the input for updating localised message.

Fields
Input Field Description
locale:Locale! The locale of the message.
content:String! The content of the message.
Example
{"locale": "DE", "content": "xyz789"}

LogoID

Description

Represents a UUID of a logo.

Example
"52a65445-e01b-435c-9249-708ed7c6b1d8"

Measurement

Description

Represents a measurement in the Onedot Platform. Measurements calculate Key Performance Indicators (KPIs) on data sets or data transformations.

Fields
Field Name Description
measurementType:MeasurementType! The type of measurement.
value:MeasurementValue The optional measurement value.
Example
{
  "measurementType": "PRECISION",
  "value": StringValue
}

MeasurementType

Description

Represents a measurement type in the Onedot Platform.

Values
Enum Value Description

PRECISION

The precision measurement type, see here for more details.

RECALL

The recall measurement type, see here for more details.

F1_MEASURE

The F1 measurement type, see here for more details.
Example
"PRECISION"

MeasurementValue

Description

Represents a measurement value in the Onedot Platform.

Example
StringValue

Measurements

Description

Represents measurements in the Onedot Platform. Measurements calculate Key Performance Indicators (KPIs) on data sets or data transformations.

Fields
Field Name Description
referenceColumnId:AttributeID! The ID of the reference column.
testColumnId:AttributeID! The ID of the test column.
values:[Measurement!] The optional values of the measurement performed on the task.
Example
{
  "referenceColumnId": "0ec1f137-71c0-4a99-99af-6afb338d8142",
  "testColumnId": "0ec1f137-71c0-4a99-99af-6afb338d8142",
  "values": [Measurement]
}

MimeType

Description

Represents a MIME type. NOTE: The MIME types supported by the Onedot Platform are technically open-ended, some MIME types are black-listed due to security reasons.

Example
"text/csv"

MoveFileInput

Description

Represents the input for moving a file.

Fields
Input Field Description
fileId:FileID! The ID of the file to move.
folderId:FolderID! The ID of the folder to move the file to.
Example
{
  "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09"
}

NumberComparison

Description

Represents a number comparison on a leaf rule expression in the Onedot Platform.

Fields
Field Name Description
numberComparisonName:NumberComparisonType! The name of the number comparison.
Example
{"numberComparisonName": "EQUAL"}

NumberComparisonType

Description

Represents the number comparison for a quality rule in the Onedot Platform.

Values
Enum Value Description

EQUAL

The EQUAL comparison, signalling that the value of specified property name must be equal to the input number.

SMALLER

The SMALLER comparison, signalling that the value of specified property name must be smaller than the input number.

SMALLER_OR_EQUAL

The SMALLER_OR_EQUAL comparison, signalling that the value of specified property name must be smaller than or equal to the input number.

GREATER

The GREATER comparison, signalling that the value of specified property name must be greater than the input number.

GREATER_OR_EQUAL

The GREATER_OR_EQUAL comparison, signalling that the value of specified property name must be greater than or equal to the input number.
Example
"EQUAL"

Ownable

Description

Interface for all entities which support the concept of optional user ownership. When changing ownable entities, the Onedot Platform automatically tracks the creator user, and any modifying users associated with such events.

Fields
Field Name Description
creator:User The optional user who created the entity.
modifier:User The optional user who modified the entity last.
Possible Types
Ownable Types

File

Folder

Example
{
  "creator": User,
  "modifier": User
}

Owned

Description

Interface for all entities which support the concept of strict user ownership. When changing owned entities, the Onedot Platform automatically tracks the creator user, and any modifying users associated with such events.

Fields
Field Name Description
creator:User! The user who created the entity.
modifier:User The optional user who modified the entity last.
Possible Types
Owned Types

Task

Job

FileDefinition

Example
{
  "creator": User,
  "modifier": User
}

Path

Description

Represents a path of a file. A path starts with a single '/' character. Path segments are separated by a single '/' character.

Example
"/home/folder"

PipelineDefinition

Description

Represents a pipeline definition in the Onedot Platform. Pipeline definitions define how the operations, inputs and outputs of a pipeline looks like, which later can be executed by specifying the defined parameters.

Fields
Field Name Description
id:PipelineDefinitionID! The ID of the pipeline definition.
name:String The optional name of the pipeline definition.
inputs:[PipelineDefinitionInput!] The optional expected inputs in pipeline execution.
outputs:[PipelineDefinitionOutput!] The optional expected outputs in pipeline execution.
properties:[PipelineDefinitionProperty!] The optional properties of the pipeline definition.
warningTimeout:Duration Receive a warning if the execution takes longer than specified.
failedTimeout:Duration The optional execution will be marked as failed if it takes longer than specified.
executionUser:PipelineExecutionUser! The user the pipeline will be executed with.
Example
{
  "id": "9713b16f-a541-4ff6-808e-8641bf931009",
  "name": "PipelineDefinitionName",
  "inputs": [
    PipelineDefinitionInput
  ],
  "outputs": [
    PipelineTaskOutputDefinition
  ],
  "properties": [
    PipelineDefinitionProperty
  ],
  "warningTimeout": Duration,
  "failedTimeout": Duration,
  "executionUser": "PIPELINE_DEFINITION_CREATOR"
}

PipelineDefinitionConnection

Description

Represents a connection to request pipeline definitions using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
pipelineDefinitions:[PipelineDefinition!] The optional requested pipeline definitions, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": true,
  "pipelineDefinitions": [
    PipelineDefinition
  ]
}

PipelineDefinitionID

Description

Represents a UUID of a pipeline definition.

Example
"9713b16f-a541-4ff6-808e-8641bf931009"

PipelineDefinitionInput

Description

Represents a pipeline definition input in the Onedot Platform.

Fields
Field Name Description
reference:String! The reference of the input.
mandatory:Boolean! Whether the input is mandatory when creating a pipeline execution or not. If it is not mandatory, the default input defined in the pipeline definition will be used when executing if not specified otherwise.
Example
{"reference": "Input", "mandatory": false}

PipelineDefinitionInputInput

Description

Represents the input for a pipeline definition input in the Onedot Platform.

Fields
Input Field Description
reference:String! The reference of the data set.
input:PipelineInputDefinitionInput! The definition of the pipeline input.
Example
{
  "reference": "Data Set",
  "input": PipelineInputDefinitionInput
}

PipelineDefinitionOutput

Description

Represents a pipeline definition output in the Onedot Platform.

PipelineDefinitionOutputInput

Description

Represents the input for a pipeline definition output in the Onedot Platform.

Fields
Input Field Description
reference:String! The reference to the output defined in the pipeline definition.
taskOutputDefinition:PipelineTaskOutputDefinitionInput The optional task output definition.
fileOutputDefinition:PipelineFileOutputDefinitionInput The optional file output definition.
Example
{
  "reference": "Output",
  "taskOutputDefinition": PipelineTaskOutputDefinitionInput,
  "fileOutputDefinition": PipelineFileOutputDefinitionInput
}

PipelineDefinitionProperty

Description

Represents a pipeline definition property in the Onedot Platform.

Fields
Field Name Description
property:String! The name of the property.
value:PipelineDefinitionPropertyDescription! The description of the property.
Example
{
  "property": "PropertyName",
  "value": PipelineDefinitionPropertyDescription
}

PipelineDefinitionPropertyDescription

Description

Represents a pipeline definition property description in the Onedot Platform.

Fields
Field Name Description
mandatory:Boolean! Whether the property is mandatory or not.
defaultValue:String The optional default value of the property.
defaultValues:[String!] The optional default values of the property.
Example
{
  "mandatory": true,
  "defaultValue": "DefaultValue",
  "defaultValues": ["abc123"]
}

PipelineDefinitionPropertyDescriptionInput

Description

Represents the input for a pipeline definition property description in the Onedot Platform.

Fields
Input Field Description
mandatory:Boolean! Whether the property is mandatory or not.
defaultValue:String The optional default value of the property.
defaultValues:[String!] The optional default values of the property.
isExecutionIdentifier:Boolean! Whether the property is an execution identifier or not.
Example
{
  "mandatory": false,
  "defaultValue": "xyz789",
  "defaultValues": ["xyz789"],
  "isExecutionIdentifier": false
}

PipelineDefinitionPropertyInput

Description

Represents the input for a pipeline definition property in the Onedot Platform.

Fields
Input Field Description
property:String! The name of the property.
value:PipelineDefinitionPropertyDescriptionInput! The description of the property.
Example
{
  "property": "abc123",
  "value": PipelineDefinitionPropertyDescriptionInput
}

PipelineExecution

Description

Represents a pipeline execution in the Onedot Platform. A pipeline execution contains the inputs, outputs and status of the pipeline execution.

Fields
Field Name Description
id:PipelineExecutionID! The ID of the pipeline execution.
pipelineId:PipelineDefinitionID! The ID fo the pipeline definition.
inputs:[PipelineExecutionInput!]! The inputs of the pipeline execution.
outputs:[PipelineExecutionOutput!]! The outputs of the pipeline execution.
properties:[PipelineExecutionProperty!]! The properties of the pipeline execution.
status:PipelineExecutionStatus! The status of the pipeline execution.
statusMessage:String The optional status message of the pipeline execution.
results:[PipelineExecutionResult!]! The results of the pipeline execution.
started:DateTime The optional time stamp when the pipeline execution started.
ended:DateTime The optional time stamp when the pipeline execution ended.
Example
{
  "id": "0098adc5-cd79-42e3-9ad3-400d276ae53f",
  "pipelineId": "9713b16f-a541-4ff6-808e-8641bf931009",
  "inputs": [
    PipelineExecutionInput
  ],
  "outputs": [
    PipelineExecutionOutput
  ],
  "properties": [
    PipelineExecutionProperty
  ],
  "status": "PENDING",
  "statusMessage": "abc123",
  "results": [
    PipelineExecutionResult
  ],
  "started": "2024-10-24T12:10:16.181Z",
  "ended": "2024-10-24T12:10:16.181Z"
}

PipelineExecutionConnection

Description

Represents a connection to request pipeline executions using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
pipelineExecutions:[PipelineExecution!] The optional requested pipeline executions, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": false,
  "pipelineExecutions": [
    PipelineExecution
  ]
}

PipelineExecutionID

Description

Represents a UUID of a pipeline execution.

Example
"0098adc5-cd79-42e3-9ad3-400d276ae53f"

PipelineExecutionInput

Description

Represents a pipeline execution input in the Onedot Platform.

Fields
Field Name Description
reference:String! The reference to input defined in the pipeline definition.
input:PipelineInput! The input of the pipeline.
Example
{
  "reference": "Input",
  "input": PipelineInput
}

PipelineExecutionInputInput

Description

Represents the input for a pipeline execution input in the Onedot Platform.

Fields
Input Field Description
reference:String! The reference to the input defined in the pipeline definition.
input:PipelineInputInput! The input of the pipeline.
Example
{
  "reference": "Input",
  "input": PipelineInputInput
}

PipelineExecutionOutput

Description

Represents a pipeline execution output in the Onedot Platform.

Fields
Field Name Description
reference:String! The reference of the output.
output:PipelineExecutionOutputValue! The value of the output.
Example
{
  "reference": "Output",
  "output": PipelineExecutionOutputValue
}

PipelineExecutionOutputInput

Description

Represents the input for a pipeline execution output in the Onedot Platform.

Fields
Input Field Description
reference:String! The reference of the output.
output:PipelineExecutionOutputValueInput! The value of the output.
Example
{
  "reference": "Output",
  "output": PipelineExecutionOutputValueInput
}

PipelineExecutionOutputValue

Description

Represents a pipeline execution output value in the Onedot Platform.

Fields
Field Name Description
name:String The optional name of the output.
folderPath:Path The optional path to the folder of the output.
Example
{
  "name": "xyz789",
  "folderPath": "/home/folder"
}

PipelineExecutionOutputValueInput

Description

Represents the input for a pipeline execution output value in the Onedot Platform.

Fields
Input Field Description
name:String The optional name of the output.
folderPath:Path The optional path to the folder of the output.
Example
{
  "name": "FileName",
  "folderPath": "/home/folder"
}

PipelineExecutionProperty

Description

Represents a pipeline execution property in the Onedot Platform.

Fields
Field Name Description
property:String! The name of the property.
value:String The value of the property. If 'value' is not defined, 'values' must be defined.
values:[String!] The values of the property. If 'values' is not defined, 'value' must be defined.
Example
{"property": "PropertyName", "value": "Value", "values": ["Value"]}

PipelineExecutionPropertyInput

Description

Represents the input for a pipeline execution property in the Onedot Platform.

Fields
Input Field Description
property:String! The name of the property.
value:String The value of the property. If 'value' is not defined, 'values' must be defined.
values:[String!] The values of the property. If 'values' is not defined, 'value' must be defined.
Example
{"property": "PropertyName", "value": "Value", "values": ["Value"]}

PipelineExecutionResult

Description

Represents a pipeline execution result in the Onedot Platform.

Fields
Field Name Description
reference:String! The reference to the output defined in the pipeline definition.
output:PipelineOutput! The output of the pipeline.
Example
{
  "reference": "Output",
  "output": PipelineOutput
}

PipelineExecutionStatus

Description

Represents a pipeline execution status.

Values
Enum Value Description

PENDING

The pipeline execution request has been received and is being processed.

SUBMITTED

The pipeline execution is submitted and awaiting execution.

QUEUED

The pipeline execution is queued, awaiting all necessary preconditions to start to be met.

RUNNING

The pipeline is computing results.

FINISHED

The pipeline has finished computing results.

SUCCEEDED

The pipeline finished successfully, and results are populated.

FAILED

The pipeline failed to execute.

TIMEOUT

The pipeline took too long to finish and the execution was stopped.

INGESTION_FAILED

The pipeline failed to process the input data.

EXPORT_FAILED

The pipeline did not produce the expected results.
Example
"PENDING"

PipelineExecutionUser

Description

Represents a configuration option which can determine the user the pipeline will be executed with.

Values
Enum Value Description

PIPELINE_DEFINITION_CREATOR

The pipeline will be executed with the user who created the pipeline definition.

PIPELINE_EXECUTION_CREATOR

The pipeline will be executed with the user who is triggering the execution.
Example
"PIPELINE_DEFINITION_CREATOR"

PipelineExecutionsByTimeRangeInput

Description

Represents the input to request pipeline executions from a time range.

Fields
Input Field Description
from:DateTime! The start of the time range for filtering pipeline executions. The range must cover a maximum of one year.
to:DateTime The optional end of the time range for filtering pipeline executions. If not defined then the current date/time is used. The range must cover a maximum of one year.
Example
{
  "from": "2024-04-24T12:10:16.181Z",
  "to": "2024-10-24T12:10:16.181Z"
}

PipelineFileOutputDefinition

Description

Represents a pipeline file output definition in the Onedot Platform.

Fields
Field Name Description
name:String! The name of the file.
folder:Path! The path of the file's folder.
mimeType:MimeType! The MIME type of the file.
type:PipelineOutputDefinitionType! The type of the output.
reference:String! The reference of the output.
Example
{
  "name": "FileName",
  "folder": "/home/folder",
  "mimeType": "text/csv",
  "type": "FILE",
  "reference": "Output"
}

PipelineFileOutputDefinitionInput

Description

Represents the input for a pipeline file output definition in the Onedot Platform.

Fields
Input Field Description
name:String! The name of the file.
folder:Path! The path of the file's folder.
mimeType:MimeType! The new MIME type of the file.
pipelineOutputReference:String! The reference of the pipeline output.
Example
{
  "name": "FileName",
  "folder": "/home/folder",
  "mimeType": "text/csv",
  "pipelineOutputReference": "Pipeline Output"
}

PipelineInput

Description

Represents a pipeline input in the Onedot Platform.

Fields
Field Name Description
type:PipelineInputType! The type if the input entity.
id:UUID! The ID of the input entity.
Example
{
  "type": "TASK",
  "id": "29cccfee-3ed5-48f1-9dbd-07f8100f29b8"
}

PipelineInputDefinitionInput

Description

Represents the input for a pipeline input definition in the Onedot Platform.

Fields
Input Field Description
reference:String! The reference of the input.
defaultInput:PipelineInputInput The optional default input of the pipeline.
Example
{
  "reference": "Input",
  "defaultInput": PipelineInputInput
}

PipelineInputInput

Description

Represents the input for a pipeline input in the Onedot Platform.

Fields
Input Field Description
type:PipelineInputType! The type if the input entity.
id:UUID! The ID of the input entity.
sourceReference:URL The optional optional source reference URL of the data set input entity.
Example
{
  "type": "TASK",
  "id": "29cccfee-3ed5-48f1-9dbd-07f8100f29b8",
  "sourceReference": "https://app.onedot.com"
}

PipelineInputType

Description

Represents the type of a pipeline input in the Onedot Platform.

Values
Enum Value Description

TASK

Signals that the input entity is a Task.

FILE

Signals that the input entity is a File.

DATASET

Signals that the input is a Dataset.
Example
"TASK"

PipelineOutput

Description

Represents a pipeline output in the Onedot Platform.

Fields
Field Name Description
type:PipelineOutputType! The type of the output entity.
id:UUID! The ID of the output entity.
Example
{
  "type": "FILE",
  "id": "29cccfee-3ed5-48f1-9dbd-07f8100f29b8"
}

PipelineOutputDefinitionType

Description

Represents the type of a pipeline output definition in the Onedot Platform.

Values
Enum Value Description

FILE

Signals that the output of the output definition is a File.

TASK

Signals that the output of the output definition is a Task.
Example
"FILE"

PipelineOutputType

Description

Represents the type of a pipeline output in the Onedot Platform.

Values
Enum Value Description

FILE

Signals that the output entity is a File.

TASK

Signals that the output entity is a Task.

JOB

Signals that the output entity is a Job.
Example
"FILE"

PipelineTaskOutputDefinition

Description

Represents a pipeline task output definition in the Onedot Platform.

Fields
Field Name Description
name:String! The name of the task.
description:String The optional task description.
status:TaskStatus! The status of the task.
taskType:TaskType! The type of the task.
fileName:String! The name of the file.
folder:Path! The path of the file's folder.
mimeType:MimeType! The MIME type of the file.
type:PipelineOutputDefinitionType! The type of the output.
reference:String! The reference of the output.
Example
{
  "name": "TaskName",
  "description": "Description",
  "status": "DRAFTING",
  "taskType": "FEEDBACK",
  "fileName": "FileName",
  "folder": "/home/folder",
  "mimeType": "text/csv",
  "type": "FILE",
  "reference": "Output"
}

PipelineTaskOutputDefinitionInput

Description

Represents the input for a pipeline task output definition in the Onedot Platform.

Fields
Input Field Description
name:String! The name of the task.
description:String The optional task description.
status:TaskStatus! The status of the task.
taskType:TaskType! The type of the task.
fileName:String! The name of the file.
folder:Path! The path of the file's folder.
mimeType:MimeType! The new MIME type of the file.
pipelineOutputReference:String! The reference of the pipeline output.
Example
{
  "name": "TaskName",
  "description": "Description",
  "status": "DRAFTING",
  "taskType": "FEEDBACK",
  "fileName": "FileName",
  "folder": "/home/folder",
  "mimeType": "text/csv",
  "pipelineOutputReference": "Pipeline Output"
}

ProblemID

Description

Represents a UUID of a problem.

Example
"93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18"

ProblemsInput

Description

Represents the input for updating problems of a processing job step.

Fields
Input Field Description
genericProblems:[GenericProblemInput!] The optional new generic problems.
taskProblems:[TaskProblemInput!] The optional new task problems.
Example
{
  "genericProblems": [
    GenericProblemInput
  ],
  "taskProblems": [TaskProblemInput]
}

ProviderConnection

Description

Represents a connection to request data providers using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
providers:[DataProvider!] The optional requested data providers, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": true,
  "providers": [DataProvider]
}

ProviderGroupContactsInput

Description

Represents the input for changing the provider contacts.

Fields
Input Field Description
providerId:ProviderID! The ID of the provider to change.
groupIds:[GroupID!] The optional new provider contacts.
Example
{
  "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "groupIds": [
    "55a60def-61a9-4627-9d08-5654d90bc335"
  ]
}

ProviderID

Description

Represents a UUID of a data provider.

Example
"eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123"

ProviderTagInput

Description

Represents the input for changing the provider tags.

Fields
Input Field Description
providerId:ProviderID! The ID of the provider to change.
tags:[String!] The optional tags to set.
Example
{
  "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "tags": ["TagName"]
}

ProviderUserContactsInput

Description

Represents the input for changing the provider contacts.

Fields
Input Field Description
providerId:ProviderID! The ID of the provider to change.
userIds:[UserID!] The optional new provider contacts.
Example
{
  "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "userIds": [
    "7b9144ad-99cb-4595-a4d0-652fc9ea1627"
  ]
}

QualityRuleExpression

Description

Represents a quality rule expression in the Onedot Platform.

QualityRuleInput

Description

Represents a rule input on a leaf rule expression in the Onedot Platform.

Fields
Field Name Description
property:String! The name of the quality rule input.
value:String! The value of the quality rule input.
Example
{
  "property": "xyz789",
  "value": "xyz789"
}

RenameFileInput

Description

Represents the input for renaming a file.

Fields
Input Field Description
fileId:FileID! The ID of the file to rename.
name:String! The new name of the file.
mimeType:MimeType The optional new MIME type of the file.
Example
{
  "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "name": "FileName",
  "mimeType": "text/csv"
}

RenameFolderInput

Description

Represents the input for renaming a folder.

Fields
Input Field Description
folderId:FolderID! The ID of the folder to rename.
name:String! The new name of the folder.
Example
{
  "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "name": "FolderName"
}

RenameJobInput

Description

Represents the input for renaming a job.

Fields
Input Field Description
jobId:JobID! The ID of the job to rename.
name:String! The new name of the job.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "name": "PDO-01"
}

RenameProviderInput

Description

Represents the input for renaming a provider.

Fields
Input Field Description
providerId:ProviderID! The ID of the provider to rename.
name:String! The new name of the provider.
Example
{
  "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "name": "ProviderName"
}

RenameTaskInput

Description

Represents the input for renaming a task.

Fields
Input Field Description
taskId:TaskID! The ID of the task to rename.
name:String! The new name of the task.
Example
{
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "name": "TaskName"
}

ResultFileInput

Description

Represents the input for updating a result file.

Fields
Input Field Description
id:FileID! The ID of the result file.
statistics:[UpdateResultStatisticsInput!] The optional result file statistics to set.
Example
{
  "id": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "statistics": [
    UpdateResultStatisticsInput
  ]
}

ResultTaskInput

Description

Represents the input for updating a result task.

Fields
Input Field Description
id:TaskID! The ID of the result task.
statistics:[UpdateResultStatisticsInput!] The optional result task statistics to set.
Example
{
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "statistics": [
    UpdateResultStatisticsInput
  ]
}

ResultsInput

Description

Represents the input for updating results of a processing job step.

Fields
Input Field Description
fileInputs:[ResultFileInput!] The optional result files.
taskInputs:[ResultTaskInput!] The optional result tasks.
Example
{
  "fileInputs": [ResultFileInput],
  "taskInputs": [ResultTaskInput]
}

RootFolder

Description

Represents a root folder in the Onedot Platform. Folders organise data files and dictionary files in a hierarchy similar to a file system.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
versionId:VersionID! The version ID of the entity.
id:FolderID! The ID of the folder.
name:String! The name of the folder.
size:FileSize The optional cumulative size (in bytes) of the folder.
Example
{
  "archived": false,
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "id": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "name": "FolderName",
  "size": 8946
}

RowID

Description

Represents a UUID of a row.

Example
"8ba93c88-61d8-4b50-a5dc-e9add7149c14"

SetFileDefinitionInput

Description

Represents the input for changing the file's file definition.

Fields
Input Field Description
fileId:FileID! The ID of the file to set the file definition for.
fileDefinitionId:FileDefinitionID The optional ID of the file definition to set or unset.
Example
{
  "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
}

SetTaskDefinitionInput

Description

Represents the input for changing the task's file definition.

Fields
Input Field Description
taskId:TaskID! The ID of the task to set the file definition for.
fileDefinitionId:FileDefinitionID The optional ID of the file definition to set or unset.
Example
{
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
}

Severity

Description

Represents a severity status in the Onedot Platform.

Values
Enum Value Description

NONE

The none severity, signalling that no problem exists and job execution can continue.

INFO

The info severity, signalling that events occurred which to not impact job execution in any way.

WARNING

The warning severity, signalling that events occurred which might have an adverse effect on the job execution.

ERROR

The error severity, signalling that events occurred which prevents job execution from continue.
Example
"NONE"

Statistics

Description

Represents statistics in the Onedot Platform. Statistics provide information about the structure, profile and quality of data sets.

Fields
Field Name Description
stepId:StepID! The ID of the step generating the statistics.
statisticsType:String! The type of statistics.
key:String! The statistics key.
value:StatisticsValue The optional statistics value.
pinned:Boolean! Defines if the statistics are pinned.
Example
{
  "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c",
  "statisticsType": "string",
  "key": "attributes",
  "value": StringValue,
  "pinned": true
}

StatisticsValue

Description

Represents a statistics value in the Onedot Platform.

Example
StringValue

Step

Description

Represents a job step in the Onedot Platform. Job steps are the unit of data transformation and describe how a job transforms data using a recipe.

Fields
Field Name Description
id:StepID! The ID of the step.
stepType:StepType! The type of the step.
status:StepStatus! The workflow status of the step.
files:[File!] The optional files associated with the step.
tasks:[Task!] The optional tasks associated with the step.
statistics:[Statistics!] The optional step statistics.
Example
{
  "id": "f79d948f-02a6-4fc9-928f-59753e84322c",
  "stepType": StepType,
  "status": "PENDING",
  "files": [File],
  "tasks": [Task],
  "statistics": [Statistics]
}

StepID

Description

Represents a UUID of a step.

Example
"f79d948f-02a6-4fc9-928f-59753e84322c"

StepStatus

Description

Represents a job step status in the Onedot Platform.

Values
Enum Value Description

PENDING

The pending status, signalling that the job step has not been started.

IN_PROGRESS

The in progress status, signalling that the job step is currently running.

COMPLETED

The completed status, signalling that the job step has completed, possibly with results.
Example
"PENDING"

StepType

Description

Represents a job step type in the Onedot Platform. Step types describe the possible data processing steps of jobs in the Onedot Platform.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
id:StepTypeID! The ID of the step type.
shortName:String The optional short name of the step type. Use localisedShortNames instead.
longName:String The optional long name of the step type. Use localisedLongNames instead.
localisedLongNames:[LocalisedMessage!] The optional localised long names of the step type.
localisedShortNames:[LocalisedMessage!] The optional localised short names of the step type.
creator:User! The creator of the step type.
key:StepTypeKey The optional key of the step type.
Example
{
  "archived": false,
  "created": "2024-10-24T12:10:16.181Z",
  "modified": "2024-04-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
  "shortName": "Loading",
  "longName": "Loading Data",
  "localisedLongNames": [
    LocalisedMessage
  ],
  "localisedShortNames": [
    LocalisedMessage
  ],
  "creator": User,
  "key": "com.onedot.jobs.loading.step"
}

StepTypeConnection

Description

Represents a connection to request step types using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
stepTypes:[StepType!] The optional requested step types, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": false,
  "stepTypes": [StepType]
}

StepTypeID

Description

Represents a UUID of a step type.

Example
"d3db9fcf-7589-4298-bd86-155388b8c9a0"

StepTypeKey

Description

Represents a key of a step type.

Example
"com.onedot.jobs.loading.step"

String

Description

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.

Example
"abc123"

StringComparison

Description

Represents a string comparison on a leaf rule expression in the Onedot Platform.

Fields
Field Name Description
stringComparisonName:StringComparisonType! The name of the string comparison.
ignoreCase:Boolean! Tells if we have to ignore case during the string comparison or not.
Example
{"stringComparisonName": "EQUALS", "ignoreCase": true}

StringComparisonType

Description

Represents the string comparison for a quality rule in the Onedot Platform.

Values
Enum Value Description

EQUALS

The EQUALS comparison, signalling that the value of specified property name must be equal to the input string.

BEGINS_WITH

The BEGINS_WITH comparison, signalling that the value of specified property name must begin with the input string.

CONTAINS

The CONTAINS comparison, signalling that the value of specified property name must contain the input string.

ENDS_WITH

The ENDS_WITH comparison, signalling that the value of specified property name must end with the input string.

REGULAR_EXPRESSION

The REGULAR_EXPRESSION comparison, signalling that the value of specified property name must match with the input regular expression.

ALLOWED_VALUES

The ALLOWED_VALUES comparison, signalling that the value of specified property name must be equal with on the input values.
Example
"EQUALS"

StringValue

Description

Represents a string value in the Onedot Platform.

Fields
Field Name Description
string:String! The string value.
Example
{"string": "abc123"}

Tag

Description

Represents a tag in the Onedot Platform. Tags are a light-weight mechanism to attach labels and other information to entities for the purpose of categorisation, searching and filtering them in the Onedot Platform.

Fields
Field Name Description
tagName:String! The tag name.
Example
{"tagName": "TagName"}

Taggable

Description

Interface for all entities which support tagging. Tags are a light-weight mechanism to attach labels and other information to entities for the purpose of categorisation, searching and filtering them in the Onedot Platform.

Fields
Field Name Description
tags:[Tag!]! The tags of the entity.
Possible Types
Taggable Types

Job

DataProvider

Example
{"tags": [Tag]}

Task

Description

Represents a task in the Onedot Platform. Tasks are a means to collaborate on data sets, approve proposals by Onedot, discuss and exchange information on the meaning of input data, product data model and data transformations to be performed.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
versionId:VersionID! The version ID of the entity.
creator:User! The user who created the entity.
modifier:User The optional user who modified the entity last.
assigned:[UserOrGroup!] The optional users or groups assigned to the entity.
id:TaskID! The ID of the task.
name:String! The task name.
description:String The optional task description.
file:File The optional optional file this task has been created from.
status:TaskStatus! The workflow status of the task.
taskType:TaskType! The type of the task.
measurements:Measurements The optional measurements performed on the task.
editingUser:User The optional user who edits the task.
spentTime:Float The optional time spent working on the task (in minutes).
expiryTime:DateTime The optional time stamp when the task expires (in ISO 8601 format).
expiryDuration:Duration The optional expiry duration of the task.
downloadAs:FileDefinitionID The optional ID of the file definition describing how to download the file.
Example
{
  "archived": true,
  "created": "2024-04-24T12:10:16.181Z",
  "modified": "2024-04-24T12:10:16.181Z",
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec",
  "creator": User,
  "modifier": User,
  "assigned": [User],
  "id": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "name": "TaskName",
  "description": "Description",
  "file": File,
  "status": "DRAFTING",
  "taskType": "FEEDBACK",
  "measurements": Measurements,
  "editingUser": User,
  "spentTime": 987.65,
  "expiryTime": "2024-04-24T12:10:16.181Z",
  "expiryDuration": Duration,
  "downloadAs": "d0670650-a216-4929-bfac-74af7170115e"
}

TaskConnection

Description

Represents a connection to request tasks using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
tasks:[Task!] The optional requested tasks, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": true,
  "tasks": [Task]
}

TaskGroupAssignmentInput

Description

Represents the input for assigning a group to a task.

Fields
Input Field Description
taskId:TaskID! The ID of the task to change.
groupId:GroupID! The new assigned group.
expiryTime:DateTime The optional time stamp when the task expires (in ISO 8601 format).
expiryDuration:DurationInput The optional expiry duration of the task.
Example
{
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "groupId": "55a60def-61a9-4627-9d08-5654d90bc335",
  "expiryTime": "2024-10-24T12:10:16.181Z",
  "expiryDuration": DurationInput
}

TaskID

Description

Represents a UUID of a task.

Example
"528777c3-d3b3-4bba-a7b7-d05d64579869"

TaskProblemInput

Description

Represents the input for creating a task problem.

Fields
Input Field Description
id:ProblemID The optional ID of the existing problem to be updated.
severity:Severity! The severity of the problem.
taskId:TaskID! The ID of the task causing the problem.
Example
{
  "id": "93fd7f21-3e2a-4e20-a6ff-dce1d9de1e18",
  "severity": "NONE",
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869"
}

TaskStatus

Description

Represents a workflow status of a task in the Onedot Platform.

Values
Enum Value Description

DRAFTING

The drafting status, signalling that the task is still drafting and needs finalising before being assigned.

PENDING

The pending status, signalling that the task is ready to be worked on.

IN_PROGRESS

The in progress status, signalling that the task is being worked on.

RESOLVED

The resolved status, signalling that work on the task has been completed.

CLOSED

The closed status, signalling that task has been processed and closed.

REJECTED

The rejected status, signalling that the task has been rejected for some reason.
Example
"DRAFTING"

TaskStatusInput

Description

Represents the input for changing the task status.

Fields
Input Field Description
taskId:TaskID! The ID of the task to change.
status:TaskStatus! The new task status.
spentTime:Float The optional time spent working on the task (in minutes).
Example
{
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "status": "DRAFTING",
  "spentTime": 123.45
}

TaskType

Description

Represents a type of task in the Onedot Platform. Several types of tasks are supported; currently only feedback task are available. Feedback task are issued by Onedot to seek approval of proposed data manipulations and offer users to correct and override those proposals.

Values
Enum Value Description

FEEDBACK

The feedback task type.

INVITE

The invite users task type.
Example
"FEEDBACK"

TaskUserAssignmentInput

Description

Represents the input for assigning a user to a task.

Fields
Input Field Description
taskId:TaskID! The ID of the task to change.
userId:UserID! The new assigned user.
expiryTime:DateTime The optional time stamp when the task expires (in ISO 8601 format).
expiryDuration:DurationInput The optional expiry duration of the task.
Example
{
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "userId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
  "expiryTime": "2024-04-24T12:10:16.181Z",
  "expiryDuration": DurationInput
}

TimeStamped

Description

Interface for all entities which support the concept of a time stamps. When changing time stamped entities, the Onedot Platform automatically tracks the timestamps associated with such events.

Fields
Field Name Description
created:DateTime! The time stamp when the entity has been created.
modified:DateTime The optional time stamp when the entity has been modified last.
Possible Types
TimeStamped Types

File

Folder

Task

Job

DataProvider

StepType

FileDefinition

Example
{
  "created": "2024-10-24T12:10:16.181Z",
  "modified": "2024-10-24T12:10:16.181Z"
}

URL

Description

Represents a URL.

Example
"https://app.onedot.com"

UUID

Description

Represents a UUID of an entity.

Example
"29cccfee-3ed5-48f1-9dbd-07f8100f29b8"

UpdateDataSetContentInput

Description

Represents the input for updating a data set content.

Fields
Input Field Description
addedColumns:[AddDataSetAttributeInput!] The optional added columns.
addedRows:AddedRows The optional added rows.
changedColumns:ChangedColumns The optional changed columns.
changedRows:ChangedRows The optional changed rows.
deletedColumns:[AttributeID!] The optional IDs of the deleted columns.
deletedRows:[RowID!] The optional IDs of the deleted rows.
Example
{
  "addedColumns": [
    AddDataSetAttributeInput
  ],
  "addedRows": [
    {
      "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
      "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
    }
  ],
  "changedColumns": {
    "076721a2-54fe-4227-af21-8da856db544e": {"name": "Changed Column Name"}
  },
  "changedRows": {
    "8478f404-1574-4a6b-8274-b2b175c62509": {
      "2021dafc-d32e-457d-x133-6b053e16de67": "Column1 value",
      "2ea37066-7f27-4826-80b0-d12f8b127d68": "Column2 value"
    }
  },
  "deletedColumns": [
    "0ec1f137-71c0-4a99-99af-6afb338d8142"
  ],
  "deletedRows": [
    "8ba93c88-61d8-4b50-a5dc-e9add7149c14"
  ]
}

UpdateFileDataSetContentInput

Description

Represents the input for updating the data set content of a file.

Fields
Input Field Description
fileId:FileID! The ID of the file.
input:UpdateDataSetContentInput! The data set content input.
Example
{
  "fileId": "cd9087eb-c882-4f76-a81e-7665752c2756",
  "input": UpdateDataSetContentInput
}

UpdateFileDefinitionInput

Description

Represents the input for updating a file definition.

Fields
Input Field Description
id:FileDefinitionID! The ID of the file definition.
name:String! The name of the file definition.
mimeType:MimeType! The MIME type of the file definition.
encoding:Encoding The optional encoding of the file definition.
reader:FileReaderConfigurationInput The optional configuration for reading a file.
writer:FileWriterConfigurationInput The optional configuration for writing a file.
Example
{
  "id": "d0670650-a216-4929-bfac-74af7170115e",
  "name": "abc123",
  "mimeType": "text/csv",
  "encoding": "UTF-8",
  "reader": FileReaderConfigurationInput,
  "writer": FileWriterConfigurationInput
}

UpdateJobInput

Description

Represents the input for updating a job.

Fields
Input Field Description
id:JobID! The ID of the job.
name:String! The job name.
approval:JobApproval! The job approval status.
status:String The optional workflow status of the job.
providerId:ProviderID The optional ID of the provider.
fileIds:[FileID!] The optional IDs of the input files to process.
statistics:[UpdateStatisticsInput!] The optional job statistics to set.
steps:[UpdateJobStepInput!]! The steps of the job to set.
tags:[String!] The optional tags to set.
expiryTime:DateTime The optional time stamp when the job expires (in ISO 8601 format).
expiryDuration:JobExpiryDurationInput The optional expiry duration of the job.
Example
{
  "id": "6b930388-e713-4178-a29a-521e69da7096",
  "name": "PDO-01",
  "approval": "APPROVED",
  "status": "xyz789",
  "providerId": "eaa49fe8-eff6-4e85-bb7c-0f7b7ae1b123",
  "fileIds": [
    "cd9087eb-c882-4f76-a81e-7665752c2756"
  ],
  "statistics": [
    UpdateStatisticsInput
  ],
  "steps": [UpdateJobStepInput],
  "tags": ["TagName"],
  "expiryTime": "2024-04-24T12:10:16.181Z",
  "expiryDuration": JobExpiryDurationInput
}

UpdateJobStepInput

Description

Represents the input for updating one step of a processing job.

Fields
Input Field Description
jobId:JobID! The ID of the job to change.
stepId:StepID! The ID of the step.
stepTypeId:StepTypeID The optional ID of the type of the step.
status:StepStatus The optional new step status.
results:ResultsInput The optional new results.
problems:ProblemsInput The optional new problems.
Example
{
  "jobId": "6b930388-e713-4178-a29a-521e69da7096",
  "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c",
  "stepTypeId": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
  "status": "PENDING",
  "results": ResultsInput,
  "problems": ProblemsInput
}

UpdatePipelineDefinitionInput

Description

Represents the input for updating a pipeline definition.

Fields
Input Field Description
id:PipelineDefinitionID! The ID of the pipeline definition to update.
recipeUri:String The optional URI to the resolved recipe or plan.
name:String The optional name of the pipeline definition.
description:String The optional description of the pipeline definition.
inputs:[PipelineDefinitionInputInput!] The optional expected inputs.
outputs:[PipelineDefinitionOutputInput!] The optional expected outputs.
properties:[PipelineDefinitionPropertyInput!] The optional properties of the pipeline definition.
warningTimeout:DurationInput Receive a warning if the execution takes longer than specified.
failedTimeout:DurationInput The optional execution will be marked as failed it takes longer than specified.
executionUser:PipelineExecutionUser The optional user the pipeline will be executed with, if not specified, the pipeline will be executed with the user who triggers the execution.
Example
{
  "id": "9713b16f-a541-4ff6-808e-8641bf931009",
  "recipeUri": "xyz789",
  "name": "abc123",
  "description": "xyz789",
  "inputs": [
    PipelineDefinitionInputInput
  ],
  "outputs": [
    PipelineDefinitionOutputInput
  ],
  "properties": [
    PipelineDefinitionPropertyInput
  ],
  "warningTimeout": DurationInput,
  "failedTimeout": DurationInput,
  "executionUser": "PIPELINE_DEFINITION_CREATOR"
}

UpdateResultStatisticsInput

Description

Represents the input for updating statistics of a processing job step.

Fields
Input Field Description
key:String! The statistics key.
value:String! The statistics value.
pinned:Boolean! Defines if the statistics are pinned.
Example
{"key": "attributes", "value": "StatisticsValue", "pinned": false}

UpdateStatisticsInput

Description

Represents the input for updating statistics of a processing job step.

Fields
Input Field Description
stepId:StepID! The ID of the step generating the statistics.
key:String! The statistics key.
value:String! The statistics value.
pinned:Boolean! Defines if the statistics are pinned.
Example
{
  "stepId": "f79d948f-02a6-4fc9-928f-59753e84322c",
  "key": "attributes",
  "value": "StatisticsValue",
  "pinned": true
}

UpdateStepTypeInput

Description

Represents the input for updating a job step.

Fields
Input Field Description
id:StepTypeID! The ID of the step type.
localisedLongNames:[LocalisedMessageInput!]! The localised long names of the step type.
localisedShortNames:[LocalisedMessageInput!]! The localised short names of the step type.
Example
{
  "id": "d3db9fcf-7589-4298-bd86-155388b8c9a0",
  "localisedLongNames": [
    LocalisedMessageInput
  ],
  "localisedShortNames": [
    LocalisedMessageInput
  ]
}

UpdateTaskDataSetContentInput

Description

Represents the input for updating the data set content of a task.

Fields
Input Field Description
taskId:TaskID! The ID of the task.
input:UpdateDataSetContentInput! The data set content input.
Example
{
  "taskId": "528777c3-d3b3-4bba-a7b7-d05d64579869",
  "input": UpdateDataSetContentInput
}

UploadFileInput

Description

Represents the input type for uploading a file.

Fields
Input Field Description
name:String! The name of the file.
folderId:FolderID! The ID of the folder where to upload the file to.
mimeType:MimeType The optional optional MIME type of the file.
encoding:Encoding The optional encoding of the file.
fileDefinitionId:FileDefinitionID The optional file definition to use to customize the reading of this file.
Example
{
  "name": "FileName",
  "folderId": "0fab391e-581f-44cd-a4a5-5e18491c6e09",
  "mimeType": "text/csv",
  "encoding": "UTF-8",
  "fileDefinitionId": "d0670650-a216-4929-bfac-74af7170115e"
}

User

Description

Represents a user in the Onedot Platform. Users can be registered by specifying email and password, or by federated login using identity providers such as Google, Microsoft or others. Alternatively, users can also be maintained in a directory service such as Microsoft Active Directory or any LDAP-compatible directory service.

Fields
Field Name Description
archived:Boolean! Whether the entity is archived or not.
id:UserID! The ID of the user.
created:DateTime! The time stamp when the user has been created.
email:EmailAddress! The email of the user.
emailVerified:Boolean! Whether the email of the user is verified or not.
userName:String! The user name.
firstName:String The optional first name of the user.
lastName:String The optional last name of the user.
groups:[Group!]! The groups the user is a member of.
userRoles:[UserRole!]! The roles assigned to the user.
collaborators:[User!]! The users this user is collaborating with.
firstSignIn:DateTime The optional time stamp the user first signed in and opened the app.
lastSignIn:DateTime The optional time stamp the user last signed in.
invitingUserId:UserID The optional ID of the inviting user.
invitingUserEmail:EmailAddress The optional email of the inviting user.
Example
{
  "archived": true,
  "id": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
  "created": "2024-10-24T12:10:16.181Z",
  "email": "amanda.taylor@onedot.com",
  "emailVerified": true,
  "userName": "amanda.taylor@onedot.com",
  "firstName": "Amanda",
  "lastName": "Taylor",
  "groups": [Group],
  "userRoles": ["APPLICATION_MANAGER"],
  "collaborators": [User],
  "firstSignIn": "2024-10-24T12:10:16.181Z",
  "lastSignIn": "2024-04-24T12:10:16.181Z",
  "invitingUserId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
  "invitingUserEmail": "amanda.taylor@onedot.com"
}

UserConnection

Description

Represents a connection to request users using pagination.

Fields
Field Name Description
cursor:String The optional cursor of the current connection. NOTE: the format of the cursor is not specified.
hasMore:Boolean! Are there more entities available?
users:[User!] The optional requested users, less than requested page size.
Example
{
  "cursor": "6b817d36-384b-4655-b482-20d218faf6bf",
  "hasMore": false,
  "users": [User]
}

UserID

Description

Represents a UUID of a user.

Example
"7b9144ad-99cb-4595-a4d0-652fc9ea1627"

UserInvitationInput

Description

Represents the input for inviting a user.

Fields
Input Field Description
email:EmailAddress! The email of the user to invite.
roles:[String!]! The names of the roles.
groupIds:[GroupID!]! The IDs of the groups.
description:String! The description of the invitation.
Example
{
  "email": "amanda.taylor@onedot.com",
  "roles": ["endpointuser"],
  "groupIds": [
    "55a60def-61a9-4627-9d08-5654d90bc335"
  ],
  "description": "Description"
}

UserInvitationResult

Description

Represents a user invitation result in the Onedot Platform.

Fields
Field Name Description
userId:UserID! The ID of the invited user.
email:EmailAddress! The email of the user.
status:UserInvitationResultStatus! The status of the invitation.
Example
{
  "userId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
  "email": "amanda.taylor@onedot.com",
  "status": "ExistingUser"
}

UserInvitationResultStatus

Description

Represents a user invitation status in the Onedot Platform.

Values
Enum Value Description

ExistingUser

The user already exists in the Onedot Platform.

AlreadyInvited

The user has already been invited to the Onedot Platform.

Successful

The user has been successfully invited to the Onedot Platform.
Example
"ExistingUser"

UserManagementInput

Description

Represents the input for managing a user.

Fields
Input Field Description
userId:UserID! The ID of the user to manage.
roles:[String!]! The names of the roles.
groupIds:[GroupID!]! The IDs of the groups.
Example
{
  "userId": "7b9144ad-99cb-4595-a4d0-652fc9ea1627",
  "roles": ["endpointuser"],
  "groupIds": [
    "55a60def-61a9-4627-9d08-5654d90bc335"
  ]
}

UserOrGroup

Description

Represents either a User or a Group in the Onedot Platform.

Types
Union Types

User

Group

Example
User

UserRole

Description

Represents a role of a user in the Onedot Platform. Roles can be registered explicitly or maintained in a directory service such as Microsoft Active Directory or any LDAP-compatible directory service.

Values
Enum Value Description

APPLICATION_MANAGER

User role with full access rights.

ASSET_MANAGER

User role that allows to manage assets.

ASSET_TYPE_MANAGER

User role that allows to create and manage asset types.

DATA_EXPORTER

User role that allows downloading of data.

DATA_QUALITY_MANAGER

User role that allows to create and manage data quality settings.

DATA_QUALITY_USER

User role that allows to see information about data quality.

DATA_SHARING_MANAGER

User role that allows to manage data sharing.

DATA_PROCESSING_MANAGER

User role that allows to manage data processing.

ENDPOINT_MANAGER

User role that allows to create and manage Onedot API keys, Onedot SFTP accounts, and other endpoints.

ENDPOINT_USER

User role that allows to view Onedot API keys, Onedot SFTP accounts, and other endpoints.

FILE_DEFINITION_MANAGER

User role that allows to create and manage file definitions.

GROUP_MANAGER

User role that allows to manage groups.

JOB_CREATOR

User role that allows to create new jobs with pipeline executions.

JOB_MANAGER

User role that allows to approve, reject, or refresh jobs.

PERMISSION_MANAGER

User role that allows to create and manage permissions.

PIPELINE_DEFINITION_MANAGER

User role that allows to manage pipeline definitions.

PREVIEWER

User role that allows to preview features in development, which are not available for regular users.

STANDARD

User role to access the Onedot Platform.

SUPPORT_PROVIDER

User role that allows to answer questions from other users within the group of the user.

TARGET_DEFINITION_MANAGER

User role that allows to create and manage target definitions.

TARGET_DEFINITION_USER

User role that allows to view target definitions.

TASK_CREATOR

User role that allows to create and manage tasks.

TASK_MANAGER

User role that allows to manage tasks, but not to create or draft them.

USER_MANAGER

User role that allows to invite users.
Example
"APPLICATION_MANAGER"

VersionID

Description

Represents a UUID of a version of an entity.

Example
"43bedc94-d20f-4dca-bbc5-dc905e009bec"

Versioned

Description

Interface for all entities which support versioning and the concept of a current version. When changing versioned entities, the Onedot Platform automatically generates a new version of that entity, ensuring configurations are always reproducible and restorable.

Fields
Field Name Description
versionId:VersionID! The version ID of the entity.
Example
{
  "versionId": "43bedc94-d20f-4dca-bbc5-dc905e009bec"
}

Visibility

Values
Enum Value Description

PUBLIC

PRIVATE

Example
"PUBLIC"