{"openapi":"3.1.1","paths":{"/api/v1/spec/datadoe_api.md":{"get":{"operationId":"SpecificationController_getDatadoeMd","parameters":[],"responses":{"200":{"description":"Download markdown file with agent instructions."},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Agent Instructions"]}},"/api/v1/spec/data-scheme":{"get":{"operationId":"SpecificationController_getDataScheme","parameters":[{"name":"query","required":false,"in":"query","description":"Optional full-text search query across source names, table names, descriptions, and columns.","schema":{"nullable":true,"example":"order items","type":"string"}},{"name":"sourceType","required":false,"in":"query","description":"Optional connection type filter. Omit it to return every source type.","schema":{"nullable":true,"example":"SELLER_CENTRAL","type":"string","enum":["SELLER_CENTRAL","VENDOR_CENTRAL","AMAZON_ADS"]}}],"responses":{"200":{"description":"Get searchable DataDoe data scheme with a recommended sources list.","schema":{"$ref":"#/components/schemas/ExportSourcesResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportSourcesResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Agent Instructions"]}},"/api/v1/exports":{"post":{"operationId":"ExportsApiController_createExport","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"202":{"description":"Create a new export request.","schema":{"$ref":"#/components/schemas/ExportResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]},"get":{"operationId":"ExportsApiController_listExports","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"exportIds","required":false,"in":"query","description":"Optional list of export IDs to filter by. If not provided, returns paginated exports.","schema":{"nullable":true,"example":["1a2b3c4d-5678-90ab-cdef-112233445566","2b3c4d5e-6789-01bc-def0-223344556677"],"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Fetch exports by a list of IDs or the most recent paginated exports.","schema":{"$ref":"#/components/schemas/ExportsResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/exports/schedules":{"get":{"operationId":"ExportsApiController_listSchedules","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"active","required":false,"in":"query","description":"Filter schedules by their active state","schema":{"nullable":false,"type":"boolean"}}],"responses":{"200":{"description":"Fetch API-created export schedules.","schema":{"$ref":"#/components/schemas/ExportSchedulesResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportSchedulesResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]},"post":{"operationId":"ExportsApiController_createSchedule","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportScheduleRequest"}}}},"responses":{"201":{"description":"Create a new API export schedule.","schema":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/exports/schedules/{scheduleId}":{"get":{"operationId":"ExportsApiController_getSchedule","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"scheduleId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Fetch API-created export schedule by ID.","schema":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"}}}},"404":{"description":"Export schedule not found or not accessible for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]},"put":{"operationId":"ExportsApiController_updateSchedule","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"scheduleId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportScheduleRequest"}}}},"responses":{"200":{"description":"Update an API export schedule.","schema":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"}}}},"404":{"description":"Export schedule not found or not accessible for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]},"delete":{"operationId":"ExportsApiController_deleteSchedule","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"scheduleId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Delete an API export schedule."},"404":{"description":"Export schedule not found or not accessible for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/exports/schedules/{scheduleId}/latest":{"get":{"operationId":"ExportsApiController_getLatestScheduleResult","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"scheduleId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Redirect to latest export result for an API-created schedule."},"404":{"description":"Export schedule or latest export result not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/exports/{exportId}":{"get":{"operationId":"ExportsApiController_getExport","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"exportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Fetch a single export by its ID.","schema":{"$ref":"#/components/schemas/ExportResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportResponse"}}}},"402":{"description":"Your organization has no AI Tokens left. Visit the organization page to increase your spending limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNoTokensResponse"}}}},"404":{"description":"Export not found or not accessible for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/exports/sources":{"get":{"operationId":"ExportsApiController_getSources","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"sellerOrVendorIds","required":true,"in":"query","description":"Seller or vendor identifiers for the report","schema":{"nullable":false,"example":["1a2b3c4d-5678-90ab-cdef-112233445566"],"type":"array","items":{"type":"string"}}},{"name":"query","required":false,"in":"query","description":"Optional full-text search query across source names, table names, descriptions, and columns.","schema":{"nullable":true,"example":"order items","type":"string"}},{"name":"sourceType","required":false,"in":"query","description":"Optional connection type filter. Omit it to return every source type.","schema":{"nullable":true,"example":"SELLER_CENTRAL","type":"string","enum":["SELLER_CENTRAL","VENDOR_CENTRAL","AMAZON_ADS"]}}],"responses":{"200":{"description":"Search export sources available for given sellers or vendors.","schema":{"$ref":"#/components/schemas/ExportSourcesResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportSourcesResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/exports/{exportId}/raw":{"get":{"operationId":"ExportsApiController_getRawExport","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"exportId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Export is still processing and the raw file is not yet available."},"302":{"description":"Redirect to raw export file URL.","headers":{"Location":{"description":"URL to the raw export file.","schema":{"type":"string","format":"uri"}}}},"404":{"description":"Export or raw file not found for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Exports"]}},"/api/v1/util/organization":{"get":{"operationId":"UtilityApiController_getOrganization","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Organization utility information.","schema":{"$ref":"#/components/schemas/UtilityOrganizationResponseDto"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtilityOrganizationResponseDto"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Utility"]}},"/api/v1/util/sellers-and-vendors":{"get":{"operationId":"UtilityApiController_getSellersAndVendors","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"All sellers and vendors connected to the organization.","schema":{"$ref":"#/components/schemas/SellersAndVendorsResponseDto"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SellersAndVendorsResponseDto"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["Utility"]}},"/api/v1/ai/prompt":{"post":{"operationId":"AiApiController_schedulePrompt","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiPromptRequest"}}}},"responses":{"202":{"description":"Schedule AI prompt execution.","schema":{"$ref":"#/components/schemas/AiPromptResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiPromptResponse"}}}},"400":{"description":"Invalid request body or seller or vendor is not ready for prompt execution.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiBadRequestResponse"}}}},"404":{"description":"Seller or vendor not found or not accessible for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["AI"]}},"/api/v1/ai/prompt/{responseId}":{"get":{"operationId":"AiApiController_getPromptResponse","parameters":[{"name":"datadoe-api-key","in":"header","description":"API key for the organization","required":true,"schema":{"type":"string"}},{"name":"responseId","required":true,"in":"path","description":"Public AI response identifier.","schema":{"format":"uuid","nullable":false,"type":"string"}}],"responses":{"200":{"description":"Get AI prompt execution status and text response.","schema":{"$ref":"#/components/schemas/AiPromptStatusResponse"},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiPromptStatusResponse"}}}},"404":{"description":"Response not found or not accessible for this organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiNotFoundResponse"}}}},"429":{"description":"Rate limit exceeded. Maximum is 2 requests per second per organization. Header Retry-After contains retry delay in seconds.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying request.","schema":{"type":"string","example":"1"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRateLimitResponse"}}}},"default":{"headers":{"datadoe-api-request-id":{"description":"Unique request ID generated by the server. Add it to your error reports to help us investigate the issue.","required":true,"schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000"}}}},"tags":["AI"]}}},"info":{"title":"DataDoe REST API","description":"<!-- AI agents: jump to \"## Use with AI agents\" below and follow the required first step. -->\n\n\n## Introduction\n\nThis REST API is used to interact with the [DataDoe](https://app.datadoe.com) platform. It is the main interface for building integrations and automations.\n\n## Authorization\n\nAll requests must be authenticated using the `datadoe-api-key` header. The key can be generated in the [DataDoe REST API Integration dashboard](https://app.datadoe.com/integrations/rest-api). The key is a secret and should be kept confidential.\n\nThe exceptions to this rule are the specification endpoints: this document (`/api/v1/docs`), the JSON version of this document (`/api/v1/docs/json`), and the _Agent Instructions_ endpoints, which are publicly available to help you understand DataDoe and its capabilities.\n\n## Rate limiting\n\nIntegration endpoints are rate-limited to **2 requests per second per organization**.\n\nWhen the limit is exceeded, the API responds with `HTTP 429` and `Retry-After: 1`.\n\nThe documentation/specification endpoints are excluded from rate limiting: `/api/v1/docs`, `/api/v1/docs/json`, `/api/v1/spec/datadoe_api.md`, and `/api/v1/spec/data-scheme`.\n\n## Traceability\n\nAll responses contain a `datadoe-api-request-id` header that can be used to trace the request through the system. Add it to your error reports to help us investigate the issue.\n\n## Use with AI agents\n\n**Required first step (before calling any endpoint other than documentation/spec endpoints):** fetch `GET /api/v1/spec/datadoe_api.md` and follow its instructions.\n\nDo **not** call any other DataDoe API endpoints until you have successfully retrieved and read `datadoe_api.md`. If you cannot access it, stop and request the missing access/context.\n\n## Other Integrations\n\nDataDoe also provides an MCP integration for AI agents. An MCP key can be generated in the [DataDoe MCP Integration dashboard](https://app.datadoe.com/integrations/mcp).\n\n## Questions and Support\n\nFeel free to contact us at [contact@datadoe.com](mailto:contact@datadoe.com) for any questions or support.","version":"0.0.1","contact":{},"termsOfService":"https://www.datadoe.com/terms-of-service"},"tags":[],"servers":[{"url":"https://api.datadoe.com"}],"components":{"schemas":{"AiPromptRequest":{"type":"object","properties":{"aiMode":{"type":"string","enum":["STANDARD","ANALYST"],"description":"AI mode for prompt execution.","example":"STANDARD","nullable":false},"sellerOrVendorId":{"type":"string","description":"Seller or vendor identifier used to execute the prompt.","format":"uuid","nullable":false},"prompt":{"type":"string","description":"Prompt text.","maxLength":16384,"nullable":false}},"required":["aiMode","sellerOrVendorId","prompt"]},"AiPromptRequestModel":{"type":"object","properties":{"aiMode":{"type":"string","enum":["STANDARD","ANALYST"],"description":"AI mode for prompt execution.","example":"STANDARD","nullable":false},"sellerOrVendorId":{"type":"string","description":"Seller or vendor identifier used to execute the prompt.","format":"uuid","nullable":false},"prompt":{"type":"string","description":"Prompt text.","maxLength":16384,"nullable":false}},"required":["aiMode","sellerOrVendorId","prompt"]},"AiPromptResponse":{"type":"object","properties":{"responseId":{"type":"string","description":"Public AI response identifier.","format":"uuid","nullable":false},"request":{"description":"Submitted request model.","nullable":false,"allOf":[{"$ref":"#/components/schemas/AiPromptRequestModel"}]}},"required":["responseId","request"]},"AiPromptStatusResponse":{"type":"object","properties":{"responseId":{"type":"string","description":"Public AI response identifier.","format":"uuid","nullable":false},"status":{"type":"string","enum":["PROCESSING","COMPLETED","FAILED"],"description":"Prompt execution status.","nullable":false},"response":{"type":"string","description":"Text response generated by AI or null while processing.","nullable":true},"request":{"description":"Submitted request model.","nullable":false,"allOf":[{"$ref":"#/components/schemas/AiPromptRequestModel"}]}},"required":["responseId","status","response","request"]},"ApiBadRequestResponse":{"type":"object","properties":{"message":{"example":["prompt should not be empty"],"description":"The error messages","type":"array","items":{"type":"string"}},"error":{"type":"string","example":"Bad Request","description":"The error type"},"statusCode":{"type":"number","example":400,"description":"The HTTP status code"}},"required":["message","error","statusCode"]},"ApiNoTokensConfig":{"type":"object","properties":{"message":{"type":"string","description":"No tokens violation message"},"refillUrl":{"type":"string","example":"https://app.datadoe.com/organizations/org-id","description":"URL to refill AI tokens for the organization"}},"required":["message","refillUrl"]},"ApiNoTokensResponse":{"type":"object","properties":{"status":{"type":"number","example":402,"description":"HTTP status code for the error"},"entityType":{"type":"string","example":"NO_TOKENS","description":"The type of entity that triggered the error"},"message":{"type":"string","description":"No tokens violation message"},"config":{"description":"No tokens details","allOf":[{"$ref":"#/components/schemas/ApiNoTokensConfig"}]}},"required":["status","entityType","message","config"]},"ApiNotFoundResponse":{"type":"object","properties":{"status":{"type":"number","example":404,"description":"HTTP status code for the error"},"entityType":{"type":"string","example":"EXPORT","description":"The type of entity that was not found"},"config":{"type":"object","example":{"exportId":"export-123"},"description":"Configuration details that identify the missing entity"}},"required":["status","entityType","config"]},"ApiRateLimitConfig":{"type":"object","properties":{"message":{"type":"string","example":"Rate limit exceeded. Maximum is 2 requests per second per organization.","description":"Rate limit violation message"},"retryAfterSeconds":{"type":"number","example":1,"description":"Number of seconds to wait before retrying request"}},"required":["message","retryAfterSeconds"]},"ApiRateLimitResponse":{"type":"object","properties":{"status":{"type":"number","example":429,"description":"HTTP status code for the error"},"entityType":{"type":"string","example":"RATE_LIMIT","description":"The type of entity that triggered the error"},"config":{"description":"Rate limit details","allOf":[{"$ref":"#/components/schemas/ApiRateLimitConfig"}]}},"required":["status","entityType","config"]},"ExportAggregation":{"type":"object","properties":{"column":{"type":"string","description":"Column to aggregate","example":"sales","nullable":false},"aggregation":{"type":"string","description":"Type of aggregation","example":"sum","enum":["count","countDistinct","sum","avg","min","max"],"nullable":false},"alias":{"type":"string","description":"Optional alias for the aggregation result","example":"total_sales","nullable":true}},"required":["column","aggregation"]},"ExportColumn":{"type":"object","properties":{"name":{"type":"string","description":"Name of the column","example":"sales","nullable":false,"minLength":2,"maxLength":128},"type":{"type":"string","enum":["TEXT","NUMBER","LOGIC","DATE","JSON"],"description":"Type of the column","example":"NUMBER","nullable":false},"nullable":{"type":"boolean","description":"True if the column can contain null values","example":false,"nullable":false},"description":{"type":"string","description":"Description of the column content","nullable":true},"bigQueryOnly":{"type":"boolean","description":"True if the column is available only in direct BigQuery integration","nullable":false}},"required":["name","type","nullable"]},"ExportRequest":{"type":"object","properties":{"sellerOrVendorIds":{"description":"Seller or vendor identifiers for the report","example":["1a2b3c4d-5678-90ab-cdef-112233445566"],"nullable":false,"minItems":0,"maxItems":5,"type":"array","items":{"type":"string"}},"sourceId":{"type":"string","description":"ID of the report source","example":"0f3afbdde3","nullable":false,"minLength":10,"maxLength":64,"pattern":"^(?:[a-f0-9]{10}|[a-f0-9]{64})$"},"columns":{"description":"Columns to include in the report. Can include source columns and aggregation aliases.","example":["child_asin","total_sales_sum"],"nullable":false,"type":"array","items":{"type":"string"}},"from":{"format":"date-time","type":"string","description":"Start date for the report","example":"2023-01-01","nullable":false},"to":{"format":"date-time","type":"string","description":"End date for the report","example":"2023-01-31","nullable":false},"filters":{"description":"Filters applied to the report","example":{"combinator":"and","rules":[{"field":"date","operator":">=","value":"2023-01-01","not":false},{"field":"ad_campaign_type","operator":"=","value":"SPONSORED_PRODUCTS","not":false}]},"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/FilterGroupMessage"}]},"groupBy":{"description":"Fields to group by in the report","example":["date","ad_type"],"nullable":true,"minItems":0,"maxItems":16,"type":"array","items":{"type":"string"}},"aggregations":{"description":"Filters applied to the report","example":[{"column":"sales","aggregation":"sum"},{"column":"orders","aggregation":"countDistinct"}],"nullable":true,"minItems":0,"maxItems":16,"type":"array","items":{"$ref":"#/components/schemas/ExportAggregation"}},"orderByColumn":{"type":"string","description":"Column to order the report by. Can be a source column or an aggregation alias.","example":"total_sales_sum","nullable":true},"orderByDirection":{"type":"string","enum":["ASC","DESC"],"description":"Order direction of the report","example":"ASC","nullable":true},"limit":{"type":"number","description":"Limit the number of rows in the report","example":100,"nullable":true},"skip":{"type":"number","description":"Number of rows to skip before returning the export results. Use 0 for the first page and combine with `limit` to paginate the results.","example":100,"nullable":true},"dateInterval":{"type":"string","enum":["DAY","WEEK","MONTH"],"description":"Optional interval to truncate date column in the export","example":"MONTH","nullable":true},"outputType":{"type":"string","enum":["CSV","JSON","EXCEL","TSV","XML"],"description":"Output type of the report","example":"CSV"},"sendTo":{"description":"Emails to send the report to","example":["user@example.com","admin@example.com"],"minItems":0,"maxItems":5,"nullable":true,"type":"array","items":{"type":"string"}},"sendToAllOrganizationMembers":{"type":"boolean","description":"Whether to send the report to all organization members","example":true,"default":false}},"required":["sellerOrVendorIds","sourceId","columns","outputType","sendToAllOrganizationMembers"]},"ExportResponse":{"type":"object","properties":{"id":{"type":"string","description":"Report ID","example":"e0d7e0e0-4b2d-4f2f-8d0f-2c5d5e0d7e0e","nullable":false},"organizationId":{"type":"string","description":"Organization ID","example":"a1b2c3d4-5678-90ab-cdef-1234567890ab","nullable":false},"sellerOrVendorIds":{"description":"Seller or vendor identifiers","example":["1a2b3c4d-5678-90ab-cdef-112233445566"],"nullable":false,"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["PENDING","IN_PROGRESS","COMPLETED","ERROR","BLOCKED_NO_TOKENS"],"description":"Report status","example":"PENDING","nullable":false},"sourceId":{"type":"string","description":"Report source id","example":"3f1700d6da","nullable":false,"minLength":10,"maxLength":10},"sourceName":{"type":"string","description":"Report source name","example":"Sales & Traffic by ASIN & Date","nullable":false},"name":{"type":"string","description":"Optional friendly name set for the report","example":"Weekly Ad Report","nullable":true},"columns":{"description":"Columns included in the report","example":["col1","col2"],"nullable":false,"type":"array","items":{"type":"string"}},"from":{"format":"date-time","type":"string","description":"Report start date","example":"2025-07-01T00:00:00Z","nullable":true},"to":{"format":"date-time","type":"string","description":"Report end date","example":"2025-07-31T23:59:59Z","nullable":true},"filters":{"type":"object","description":"Filters applied to the report","nullable":true},"groupBy":{"type":"object","description":"Fields to group by in the report","example":["date","ad_type"],"nullable":true},"orderByColumn":{"type":"string","description":"Column to order the report by. Can be a source column or an aggregation alias.","example":"total_sales_sum","nullable":true},"orderByDirection":{"type":"string","enum":["ASC","DESC"],"description":"Order direction of the report","nullable":true},"limit":{"type":"number","description":"Limit the number of rows in the report","example":100,"nullable":true},"skip":{"type":"number","description":"Number of rows skipped before returning the report results","example":100,"nullable":true},"outputType":{"type":"string","enum":["CSV","JSON","EXCEL","TSV","XML"],"description":"Report output type","example":"CSV","nullable":false},"rowCount":{"type":"number","description":"Number of data rows in the generated report","example":1250,"nullable":true},"sendTo":{"description":"Email addresses to send the report to","example":["user@example.com"],"type":"array","items":{"type":"string"}},"sendToAllOrganizationMembers":{"type":"boolean","description":"Should report be sent to all organization members","example":true},"creator":{"type":"string","enum":["USER","AUTOMATION","EXPLORER","SCHEDULE","API","MCP","REPORTS","HOME"],"description":"Entity that created the export","example":"API","nullable":false},"createdAt":{"format":"date-time","type":"string","description":"Creation date","example":"2025-07-28T12:00:00Z","nullable":false},"updatedAt":{"format":"date-time","type":"string","description":"Last update date","example":"2025-07-28T12:00:00Z","nullable":false},"expiresAt":{"format":"date-time","type":"string","description":"Expiration date","example":"2025-08-28T12:00:00Z","nullable":true}},"required":["id","organizationId","sellerOrVendorIds","status","sourceId","sourceName","name","columns","from","to","filters","groupBy","orderByColumn","orderByDirection","limit","skip","outputType","rowCount","sendTo","sendToAllOrganizationMembers","creator","createdAt","updatedAt","expiresAt"]},"ExportScheduleIntegrationsResponse":{"type":"object","properties":{"googleSheetsFormula":{"description":"Google Sheets integration details","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/GoogleSheetsFormulaIntegration"}]},"powerQuery":{"description":"Excel PowerQuery integration details","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PowerQueryIntegration"}]},"staticUrl":{"description":"Static download URL integration details","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/StaticUrlIntegration"}]}},"required":["googleSheetsFormula","powerQuery","staticUrl"]},"ExportScheduleRequest":{"type":"object","properties":{"sellerOrVendorIds":{"description":"Seller or vendor identifiers associated with the export schedule","example":["1a2b3c4d-5678-90ab-cdef-112233445566"],"nullable":false,"type":"array","items":{"type":"string"}},"sourceId":{"type":"string","description":"ID of the report source","example":"0f3afbdde3","nullable":false,"minLength":10,"maxLength":64,"pattern":"^(?:[a-f0-9]{10}|[a-f0-9]{64})$"},"columns":{"description":"Columns to include in the export schedule","example":["sales","revenue"],"nullable":false,"type":"array","items":{"type":"string"}},"interval":{"type":"string","enum":["DAY","WEEK","MONTH"],"description":"Aggregation interval used for grouped metrics","example":"DAY"},"relativeInterval":{"type":"string","enum":["DAY","WEEK","MONTH","QUARTER","YEAR"],"description":"Relative interval unit used to resolve the schedule window","example":"WEEK"},"relativeCount":{"type":"number","description":"Number of relative intervals included in the schedule window","example":4},"relativeOffsetCount":{"type":"number","description":"Relative intervals skipped after resolving the base window","example":1,"default":0},"refreshedEveryDays":{"type":"number","description":"Minimum number of days before the period is refreshed again","example":7,"default":0},"filters":{"type":"object","description":"Filters applied to the export schedule","nullable":true},"groupBy":{"description":"Fields to group by","example":["date","ad_type"],"nullable":true,"type":"array","items":{"type":"string"}},"aggregations":{"description":"Aggregations applied to the export schedule","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ExportAggregation"}},"orderByColumn":{"type":"string","description":"Column to order the schedule by","example":"date","nullable":true},"orderByDirection":{"type":"string","enum":["ASC","DESC"],"description":"Order direction","example":"ASC","nullable":true},"limit":{"type":"number","description":"Row limit for the schedule","example":100,"nullable":true},"outputType":{"type":"string","enum":["CSV","JSON","EXCEL","TSV","XML"],"description":"Output type of the scheduled export","example":"CSV"},"sendTo":{"description":"Emails to send the export to","example":["user@example.com","admin@example.com"],"nullable":false,"type":"array","items":{"type":"string"}},"sendToAllOrganizationMembers":{"type":"boolean","description":"Send the export to all organization members","example":true,"nullable":false},"name":{"type":"string","description":"Friendly name for the export schedule","example":"Weekly Sales Export","nullable":true},"active":{"type":"boolean","description":"Whether the export schedule is active","example":true,"nullable":false}},"required":["sellerOrVendorIds","sourceId","columns","interval","relativeInterval","relativeCount","outputType","sendTo","sendToAllOrganizationMembers"]},"ExportScheduleWithIntegrationsResponse":{"type":"object","properties":{"schedule":{"description":"Export schedule details","nullable":false,"allOf":[{"$ref":"#/components/schemas/PublicExportScheduleDto"}]},"integrations":{"description":"Integrations available for the export schedule","nullable":false,"allOf":[{"$ref":"#/components/schemas/ExportScheduleIntegrationsResponse"}]}},"required":["schedule","integrations"]},"ExportSchedulesResponse":{"type":"object","properties":{"data":{"description":"List of export schedules with integrations","type":"array","items":{"$ref":"#/components/schemas/ExportScheduleWithIntegrationsResponse"}},"meta":{"$ref":"#/components/schemas/PaginatedMeta"}},"required":["data","meta"]},"ExportSourceResponse":{"type":"object","properties":{"id":{"type":"string","description":"ID of the export source","example":"0f3afbdde3","nullable":false,"minLength":10,"maxLength":10},"name":{"type":"string","description":"Name of the export source","example":"asin_sales","nullable":false},"tableName":{"type":"string","description":"Name of the BigQuery table available in direct BigQuery connection","example":"amazon_sales_and_traffic_with_cogs","nullable":false},"type":{"type":"string","enum":["SELLER_CENTRAL","VENDOR_CENTRAL","AMAZON_ADS"],"description":"Type of the export source","examples":["SELLER_CENTRAL","AMAZON_ADS"],"nullable":false},"columns":{"description":"Columns available in the export source","example":[{"name":"date","type":"DATE","nullable":false,"description":"Single date may occur multiple times."},{"name":"ad_sales","type":"NUMBER","nullable":false,"description":null}],"nullable":false,"type":"array","items":{"$ref":"#/components/schemas/ExportColumn"}},"description":{"type":"string","description":"Description of the export source","example":"Daily sales data for ASINs","nullable":false},"userManaged":{"type":"boolean","description":"True if the data in the table is managed by the user","example":true,"nullable":false},"isPremium":{"type":"boolean","description":"True if the export source is a premium table with combined data and higher processing cost (5 AI tokens per Export).","example":false,"nullable":false},"fetchPeriods":{"description":"Fetch periods of the export source","example":[{"type":"INITIAL","numberOfDays":30},{"type":"RECURRING_DAILY","numberOfDays":1}],"nullable":false,"type":"array","items":{"$ref":"#/components/schemas/TableFetchPeriod"}}},"required":["id","name","tableName","type","columns","description","userManaged","isPremium","fetchPeriods"]},"ExportSourcesResponse":{"type":"object","properties":{"sources":{"description":"Matching export sources.","nullable":false,"type":"array","items":{"$ref":"#/components/schemas/ExportSourceResponse"}},"recommendedSources":{"description":"Recommended export sources to try next.","nullable":false,"type":"array","items":{"$ref":"#/components/schemas/ExportSourceResponse"}}},"required":["sources","recommendedSources"]},"ExportsResponse":{"type":"object","properties":{"data":{"description":"List of exports","type":"array","items":{"$ref":"#/components/schemas/ExportResponse"}},"meta":{"$ref":"#/components/schemas/PaginatedMeta"}},"required":["data","meta"]},"FilterGroupMessage":{"type":"object","properties":{"combinator":{"type":"string","enum":["and","or"],"description":"Combinator to use for the filter group","example":"and","nullable":false},"rules":{"description":"Rules to use for the filter group","example":[{"field":"date","operator":"=","value":"2023-01-01","not":false},{"field":"ad_campaign_type","operator":"=","value":"SPONSORED_PRODUCTS","not":false}],"nullable":false,"minItems":0,"maxItems":16,"type":"array","items":{"$ref":"#/components/schemas/FilterRuleMessage"}}},"required":["combinator","rules"]},"FilterRuleMessage":{"type":"object","properties":{"field":{"type":"string","description":"Field to filter by","example":"date","nullable":false},"operator":{"type":"string","enum":["=","!=",">",">=","<","<=","contains","beginsWith","endsWith","doesNotContain","doesNotBeginWith","doesNotEndWith","in","notIn","between","notBetween","null","notNull"],"description":"Operator to filter by","example":"=","nullable":false},"value":{"type":"string","description":"Value to filter by","example":"2023-01-01","nullable":false},"not":{"type":"boolean","description":"Negate the filter","example":false,"nullable":false}},"required":["field","operator","value","not"]},"GoogleSheetsFormulaIntegration":{"type":"object","properties":{"formula":{"type":"string","description":"Google Sheets formula to fetch the latest export","example":"IMPORTDATA(\"https://api.datadoe.com/api/v1/exports/schedules/.../latest\")","nullable":false}},"required":["formula"]},"PaginatedMeta":{"type":"object","properties":{"currentPageSize":{"type":"number","description":"The number of items in the current page"},"pageSize":{"type":"number","description":"The maximum number of items per page"},"currentPage":{"type":"number","description":"The current page number"},"totalPages":{"type":"number","description":"The total number of pages"},"hasPreviousPage":{"type":"boolean","description":"Whether there is a previous page"},"hasNextPage":{"type":"boolean","description":"Whether there is a next page"},"results":{"type":"number","description":"The number of items in the current page"},"totalResults":{"type":"number","description":"The total number of items"}},"required":["currentPageSize","pageSize","currentPage","totalPages","hasPreviousPage","hasNextPage","results","totalResults"]},"PowerQueryIntegration":{"type":"object","properties":{"query":{"type":"string","description":"Excel PowerQuery script to fetch the latest export","example":"let ... in ...","nullable":false}},"required":["query"]},"PublicExportScheduleDto":{"type":"object","properties":{"id":{"type":"string","description":"Export schedule ID","example":"e0d7e0e0-4b2d-4f2f-8d0f-2c5d5e0d7e0e","nullable":false},"organizationId":{"type":"string","description":"Organization ID","example":"a1b2c3d4-5678-90ab-cdef-1234567890ab","nullable":false},"sellerOrVendorIds":{"description":"Seller or vendor identifiers associated with the schedule","example":["1a2b3c4d-5678-90ab-cdef-112233445566"],"nullable":false,"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"Optional friendly name for the schedule","example":"Weekly Sales Export","nullable":true},"active":{"type":"boolean","description":"Whether the export schedule is active","example":true,"nullable":false},"source":{"type":"string","description":"Report source name","example":"Orders Report","nullable":false},"sourceId":{"type":"string","description":"Report source id","example":"3f1700d6da0b58030c0ddfc54ae6bfdb583bd6c9c9b1fa4d14eab16f3fab4f39","nullable":false},"sourceName":{"type":"string","description":"Report source name","example":"Sales & Traffic by ASIN & Date","nullable":true},"columns":{"description":"Columns included in the export schedule","example":["col1","col2"],"nullable":false,"type":"array","items":{"type":"string"}},"relativeInterval":{"type":"string","enum":["DAY","WEEK","MONTH","QUARTER","YEAR"],"description":"Relative interval used to compute the schedule window","example":"WEEK","nullable":false},"relativeCount":{"type":"number","description":"Number of relative intervals composing the schedule window","example":4,"nullable":false},"relativeOffsetCount":{"type":"number","description":"Relative intervals skipped after evaluation (e.g. completed periods)","example":1,"nullable":false},"refreshedEveryDays":{"type":"number","description":"Minimum number of days between automatic refreshes","example":7,"nullable":false},"filters":{"type":"object","description":"Filters applied to the export schedule","nullable":true},"groupBy":{"description":"Fields to group by","example":["date","ad_type"],"nullable":false,"type":"array","items":{"type":"string"}},"aggregations":{"description":"Aggregations applied to the export schedule","example":[{"column":"sales","aggregation":"sum","alias":null}],"nullable":true,"type":"array","items":{"type":"string"}},"orderByColumn":{"type":"string","description":"Column used for ordering","example":"date","nullable":true},"orderByDirection":{"type":"string","enum":["ASC","DESC"],"description":"Order direction","nullable":true},"limit":{"type":"number","description":"Row limit for the export","example":100,"nullable":true},"outputType":{"type":"string","enum":["CSV","JSON","EXCEL","TSV","XML"],"description":"Output type for the export","example":"CSV","nullable":false},"sendTo":{"description":"Email recipients","example":["user@example.com"],"nullable":false,"type":"array","items":{"type":"string"}},"sendToAllOrganizationMembers":{"type":"boolean","description":"Whether to send to all organization members","example":true,"nullable":false},"creator":{"type":"string","enum":["USER","API"],"description":"Entity that created the schedule","example":"API","nullable":false},"latestExport":{"description":"Most recent completed export generated from this schedule","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PublicExportScheduleLatestExportDto"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation date","nullable":false},"updatedAt":{"format":"date-time","type":"string","description":"Last update date","nullable":false},"createdBy":{"type":"string","description":"User who created the schedule","nullable":false},"updatedBy":{"type":"string","description":"User who last updated the schedule","nullable":false}},"required":["id","organizationId","sellerOrVendorIds","name","active","source","sourceId","sourceName","columns","relativeInterval","relativeCount","relativeOffsetCount","refreshedEveryDays","filters","groupBy","aggregations","orderByColumn","orderByDirection","limit","outputType","sendTo","sendToAllOrganizationMembers","creator","latestExport","createdAt","updatedAt","createdBy","updatedBy"]},"PublicExportScheduleLatestExportDto":{"type":"object","properties":{"id":{"type":"string","description":"Export ID","example":"e0d7e0e0-4b2d-4f2f-8d0f-2c5d5e0d7e0e","nullable":false},"createdAt":{"format":"date-time","type":"string","description":"Export creation date","example":"2024-01-15T10:30:00Z","nullable":false}},"required":["id","createdAt"]},"SellersAndVendorsConnectionDto":{"type":"object","properties":{"id":{"type":"string","description":"Connection ID","nullable":true},"name":{"type":"string","description":"Connection name","nullable":true},"rowCount":{"type":"number","description":"Connection row count","nullable":true},"initialLoadComplete":{"type":"boolean","description":"Whether the initial load is complete","nullable":true}},"required":["id","name","rowCount","initialLoadComplete"]},"SellersAndVendorsItemDto":{"type":"object","properties":{"id":{"type":"string","description":"Seller or vendor identifier"},"name":{"type":"string","description":"Seller or vendor name"},"rowCount":{"type":"number","description":"Total row count for seller and vendor connections"},"sellerCentralConnection":{"description":"Seller Central connection details","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/SellersAndVendorsConnectionDto"}]},"vendorCentralConnection":{"description":"Vendor Central connection details","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/SellersAndVendorsConnectionDto"}]},"amazonAdsConnection":{"description":"Amazon Ads connection details","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/SellersAndVendorsConnectionDto"}]}},"required":["id","name","rowCount","sellerCentralConnection","vendorCentralConnection","amazonAdsConnection"]},"SellersAndVendorsResponseDto":{"type":"object","properties":{"items":{"description":"All sellers and vendors","type":"array","items":{"$ref":"#/components/schemas/SellersAndVendorsItemDto"}}},"required":["items"]},"StaticUrlIntegration":{"type":"object","properties":{"url":{"type":"string","description":"Static download URL for the latest export","example":"https://api.datadoe.com/api/v1/exports/schedules/.../latest","nullable":false},"pythonSnippet":{"type":"string","description":"Python code snippet to fetch the latest export","nullable":false},"typescriptSnippet":{"type":"string","description":"TypeScript code snippet to fetch the latest export","nullable":false},"javascriptSnippet":{"type":"string","description":"JavaScript code snippet to fetch the latest export","nullable":false},"javaSnippet":{"type":"string","description":"Java code snippet to fetch the latest export","nullable":false},"phpSnippet":{"type":"string","description":"PHP code snippet to fetch the latest export","nullable":false},"csharpSnippet":{"type":"string","description":"C# code snippet to fetch the latest export","nullable":false},"curlSnippet":{"type":"string","description":"cURL command to fetch the latest export","nullable":false}},"required":["url","pythonSnippet","typescriptSnippet","javascriptSnippet","javaSnippet","phpSnippet","csharpSnippet","curlSnippet"]},"TableFetchPeriod":{"type":"object","properties":{"type":{"type":"string","description":"Period type","enum":["CONTINUOUS","INITIAL","RECURRING_DAILY","RECURRING_WEEKLY","RECURRING_MONTHLY"],"example":"INITIAL","nullable":false},"numberOfDays":{"type":"number","description":"Number of days of data fetched","example":30,"nullable":false},"shiftDays":{"type":"number","description":"Shift the resulting date range by this many days","example":0,"nullable":true}},"required":["type","numberOfDays"]},"UtilityBillingDto":{"type":"object","properties":{"monthlyCost":{"type":"number","description":"Current monthly cost","nullable":true},"nextBillingDate":{"format":"date-time","type":"string","description":"Next billing date","nullable":true}},"required":["monthlyCost","nextBillingDate"]},"UtilityCurrentMaxDto":{"type":"object","properties":{"current":{"type":"number","description":"Current value"},"max":{"type":"number","description":"Max allowed value"}},"required":["current","max"]},"UtilityOrganizationDto":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID"},"name":{"type":"string","description":"Organization name"}},"required":["id","name"]},"UtilityOrganizationResponseDto":{"type":"object","properties":{"organization":{"description":"Organization metadata","allOf":[{"$ref":"#/components/schemas/UtilityOrganizationDto"}]},"aiTokens":{"description":"AI tokens values","allOf":[{"$ref":"#/components/schemas/UtilityCurrentMaxDto"}]},"aiQuota":{"description":"AI quota values","allOf":[{"$ref":"#/components/schemas/UtilityCurrentMaxDto"}]},"dataRows":{"description":"Data rows values","allOf":[{"$ref":"#/components/schemas/UtilityCurrentMaxDto"}]},"billing":{"description":"Billing metadata","allOf":[{"$ref":"#/components/schemas/UtilityBillingDto"}]}},"required":["organization","aiTokens","aiQuota","dataRows","billing"]}}}}