Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Data 2 data API documentation

This repository contains a high-level overview of the public Data 2 data API, as well as links to the detailed specification.

Terminology

Data 2 data has two types of services.

Infrastructural services

Infrastructural services perform a supporting role. With their help, you can upload and download files, register users, monitor the status of tasks, etc.

Data conversion services

Data conversion services process user-uploaded content, perform transformations taking into account user settings, and transmit the result to infrastructure services through which the user receives it.

In other words data conversion services are the key services of the project.

Task

A task is an entity that describes a task for a data conversion service; it contains a set of service parameters, information about files uploaded by the user, status, time of creation and completion of the task, etc.

The task is registered by the user, then executed by the target service and ends with success or failure.

Algorithm for interaction between the user and services

The interaction between users and services follows a defined algorithm:

  1. Users register an account through the auth service. Registration is not publicly available. If you need to implement it, please contact us via the feedback form.

  2. Users obtain a token from the auth service for accessing other services.

  3. Users register the task in the uploads service.

  4. The uploads service checks the service parameters, creates a task and awaits for user files.

  5. The uploads service accepts user files to a separate endpoint, then downloads files by URL if specified.

  6. Status of the task is set to queued, and the wait for the resources of the data conversion service requested by the user begins.

  7. Once the service is ready for processing, the task status changes to execution, and the conversion service starts processing user data.

  8. The service processes the task, updating the task status (text description and progress percentage).

  9. Users receive status updates via websocket.

  10. Upon successful execution, the service sets the task status to success.

  11. Users download the resulting file through the downloads service.

API documentation

The above is only a brief description of the entire project as a whole, which should make it easier to get started with the API.

The Data 2 Data API documentation, available in OpenAPI format, features SwaggerUI and redoc viewers by default.

Documentation links follows the pattern:

https://beta.data2data.ru/api/{version}/{service}/{path}

Where:

  • version is the API version, currently version v1 is available.
  • service - service name, see first column in the table below.
  • path - doc for viewing in swagger, redoc for viewing in redoc, and openapi.json - the original specification.
serviceSwaggerRedocOpenAPI
AuthSwaggerRedocOpenAPI
uploadsSwaggerRedocOpenAPI
ocrSwaggerRedocOpenAPI
tasksSwaggerRedocOpenAPI
downloadsSwaggerRedocOpenAPI

Where to begin?

You can read the documentation in the order corresponding to the arrangement of services in the table above.

About

Data 2 data API documentation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors