openapi: 3.2.0 info: title: Pigment External Import API version: v1-external security: - ApiKey: [] tags: - name: Import API paths: /api/import/{importId}/status: get: tags: - Import API description: Get the status of a csv import operation parameters: - name: importId in: path description: The ID of the import required: true schema: type: string format: uuid responses: '200': description: The import status was successfully retrieved content: text/plain: schema: $ref: '#/components/schemas/ApiImportReportDto' application/json: schema: $ref: '#/components/schemas/ApiImportReportDto' text/json: schema: $ref: '#/components/schemas/ApiImportReportDto' '400': description: Bad request '401': description: Unauthorized '404': description: Status with the specified importId was not found summary: Get api import by import id status x-summary-source: derived operationId: getApiImportByImportIdStatus x-operation-id-source: derived /api/import/push/csv: post: tags: - Import API description: Import a CSV file parameters: - name: configurationId in: query description: The import configuration ID required: true schema: type: string format: uuid requestBody: content: text/csv: schema: type: string format: binary application/octet-stream: schema: type: string format: binary required: true responses: '200': description: Import started content: text/plain: schema: $ref: '#/components/schemas/ApiImportResultDto' application/json: schema: $ref: '#/components/schemas/ApiImportResultDto' text/json: schema: $ref: '#/components/schemas/ApiImportResultDto' '400': description: Bad request or size limit exceeded '401': description: Unauthorized '404': description: Import configuration with the specified ID was not found '429': description: 'Maximum number of reports per configuration per hour exceeded, maximum: 300. Please try again later.' summary: Create api import push csv x-summary-source: derived operationId: postApiImportPushCsv x-operation-id-source: derived /api/import/push/looker: post: tags: - Import API description: Import Look parameters: - name: configurationId in: query description: The import configuration ID required: true schema: type: string format: uuid responses: '200': description: Look import started content: text/plain: schema: $ref: '#/components/schemas/ApiImportResultDto' application/json: schema: $ref: '#/components/schemas/ApiImportResultDto' text/json: schema: $ref: '#/components/schemas/ApiImportResultDto' '400': description: Bad request or size limit exceeded '401': description: Unauthorized '404': description: Import configuration with the specified ID was not found summary: Create api import push looker x-summary-source: derived operationId: postApiImportPushLooker x-operation-id-source: derived components: schemas: ApiImportBlockType: enum: - Metric - List type: string ApiDetailedImportReport: required: - autoCreatedDimensionModalities - blockType - impactedBlocks - summary type: object properties: blockType: allOf: - $ref: '#/components/schemas/ApiImportBlockType' summary: allOf: - $ref: '#/components/schemas/ApiImportStatisticsSummary' impactedBlocks: type: array items: $ref: '#/components/schemas/ApiMainTargetReport' autoCreatedDimensionModalities: type: array items: $ref: '#/components/schemas/ApiAutoCreatedDimensionModality' additionalProperties: false ApiImportStatisticsSummary: required: - deletedCount - insertedCount - skippedCount - updatedCount type: object properties: insertedCount: type: integer format: int64 updatedCount: type: integer format: int64 deletedCount: type: integer format: int64 skippedCount: type: integer format: int64 additionalProperties: false ApiSkippedData: required: - count - reason - samples type: object properties: count: type: integer format: int64 reason: allOf: - $ref: '#/components/schemas/ApiSkippedDataReason' sourceColumnName: type: - string - 'null' samples: type: array items: type: string additionalProperties: false ApiAutoCreatedDimensionModality: required: - blockId - count type: object properties: blockId: type: string format: uuid count: type: integer format: int64 additionalProperties: false ApiSkippedDataReason: enum: - ParsingError - MissingModalityUseDefaultOrNullModality - MissingModalitySkippedDataRow - MissingWriteAccessRights - MissingModalitiesFromSnapshot type: string ApiImportStatus: enum: - InProgress - Completed - Failed type: string ApiImportErrorDto: required: - description - name type: object properties: name: type: string description: type: string additionalProperties: false ApiImportReportDto: required: - createdAt - importId - importStatus type: object properties: importId: type: string format: uuid createdAt: type: string format: date-time completedAt: type: - string - 'null' format: date-time importStatus: allOf: - $ref: '#/components/schemas/ApiImportStatus' errorsDetails: type: - array - 'null' items: $ref: '#/components/schemas/ApiImportErrorDto' detailedReport: allOf: - $ref: '#/components/schemas/ApiDetailedImportReport' additionalProperties: false ApiImportResultDto: required: - importId type: object properties: importId: type: string format: uuid additionalProperties: false ApiMainTargetReport: required: - blockId - deletedCount - insertedCount - skippedData - updatedCount type: object properties: blockId: type: string format: uuid scenarioId: type: - string - 'null' format: uuid insertedCount: type: integer format: int64 updatedCount: type: integer format: int64 skippedData: type: array items: $ref: '#/components/schemas/ApiSkippedData' deletedCount: type: integer format: int64 additionalProperties: false securitySchemes: ApiKey: type: http description: API Key Authorization header using the Bearer scheme. scheme: bearer bearerFormat: ApiKey