openapi: 3.2.0 info: description: 'The API for Relay by Flume Health. For more information about how Flume can power your health plan, please [contact us](mailto:sales@flumehealth.com). [Redoc](/api/docs/) | [Swagger - Try It](/api/swagger/) ' title: Flume Console Shards API contact: {} version: '1.0' x-logo: altText: Flume Health url: https://public-static.flume.health/front/logo-margin-512.png servers: - url: https://console.flumehealth.com/ - url: http://console.flumehealth.com/ tags: - name: Shards paths: /api/v1/endpoints/{endpointId}/shards: get: description: Lists Shards for a given Endpoint tags: - Shards summary: List Shards operationId: listShards parameters: - description: X-Flume-Account-ID name: X-Flume-Account-ID in: header schema: type: string - description: id of parent endpoint name: endpointId in: path required: true schema: type: string - description: The page to request. Should be a previously-received nextPageToken name: pageToken in: query schema: type: string - description: Number of Transactions to return name: pageSize in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/transaction.ListReadModel' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' default: description: '' content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' security: - OAuth2Implicit: - openid - profile - email post: description: Create Shards in bulk tags: - Shards summary: Create Shard (Bulk) operationId: createShardsBulk parameters: - description: X-Flume-Account-ID name: X-Flume-Account-ID in: header schema: type: string - description: id of parent endpoint name: endpointId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/shard.ReadModel' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' default: description: '' content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' security: - OAuth2Implicit: - openid - profile - email requestBody: content: application/json: schema: $ref: '#/components/schemas/shard.BulkWriteModel' description: bulk Shard body required: true /api/v1/endpoints/{endpointId}/shards/{shardId}: get: description: Gets a Shard for a given Endpoint tags: - Shards summary: Get a Shard for an Endpoint operationId: getShard parameters: - description: X-Flume-Account-ID name: X-Flume-Account-ID in: header schema: type: string - description: id of parent endpoint name: endpointId in: path required: true schema: type: string - description: id of shard name: shardId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/transaction.ListReadModel' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' default: description: '' content: application/json: schema: $ref: '#/components/schemas/responses.ErrorResponse' security: - OAuth2Implicit: - openid - profile - email components: schemas: transaction.Trigger: type: string enum: - Manual - Schedule - Subsequent x-enum-varnames: - TriggerManual - TriggerSchedule - TriggerSubsequent shard.BulkWriteModel: type: object properties: shards: type: array items: $ref: '#/components/schemas/shard.WriteModel' shard.WriteModel: type: object required: - key properties: key: type: string transaction.Step: type: object properties: endTime: type: string error: type: string errorLogBlobKey: type: string file: $ref: '#/components/schemas/transaction.FileDetail' logBlobKey: type: string logs: type: string startTime: type: string state: $ref: '#/components/schemas/transaction.State' watermark: type: string watermarkBlobKey: type: string transaction.FileDetail: type: object properties: archiveFileName: type: string compressedFilesFound: type: array items: type: string downloadDurationMillis: type: integer lastModifiedTime: type: string name: type: string recordsIn: type: integer recordsOut: type: integer retrievalTime: type: string sizeBytes: type: integer uploadDurationMillis: type: integer shard.TransactionSummary: type: object properties: endTime: type: string id: type: integer startTime: type: string state: $ref: '#/components/schemas/transaction.State' transaction.Operation: type: string enum: - SourceMap - SourceTransfer - SourceExtract - SourceMapBatchLoad - SourceMapBatchProcess - DestinationMap - DestinationTransfer x-enum-varnames: - OperationSourceMap - OperationSourceTransfer - OperationSourceExtract - OperationSourceMapBatchLoad - OperationSourceMapBatchProcess - OperationDestinationMap - OperationDestinationTransfer transaction.Steps: type: object properties: extract: $ref: '#/components/schemas/transaction.Step' load: $ref: '#/components/schemas/transaction.Step' transform: $ref: '#/components/schemas/transaction.Step' shard.RecentTransactions: type: object properties: last: $ref: '#/components/schemas/shard.TransactionSummary' lastFinished: $ref: '#/components/schemas/shard.TransactionSummary' lastFinishedOp: $ref: '#/components/schemas/shard.TransactionSummary' lastSuccessful: $ref: '#/components/schemas/shard.TransactionSummary' lastVisible: $ref: '#/components/schemas/shard.TransactionSummary' transaction.State: type: string enum: - Scheduled - Running - Succeeded - SucceededNoOp - FailedRecoverable - FailedNonrecoverable - FailedValidation - Cancelled - FailedMissingSourceFile x-enum-varnames: - StateScheduled - StateRunning - StateSucceeded - StateSucceededNoOp - StateFailedRecoverable - StateFailedNonrecoverable - StateFailedValidation - StateCancelled - StateFailedMissingSourceFile endpoint.State: type: string enum: - Idle - Running - Error - Stopped x-enum-varnames: - StateIdle - StateRunning - StateError - StateStopped responses.ErrorResponse: type: object properties: code: type: integer details: type: array items: type: string message: type: string shard.ReadModel: type: object required: - key properties: accountId: type: integer endpointId: type: integer id: type: integer key: type: string lastTransaction: $ref: '#/components/schemas/shard.TransactionSummary' nextTransaction: type: string recentTransactions: $ref: '#/components/schemas/shard.RecentTransactions' state: $ref: '#/components/schemas/endpoint.State' transaction.ReadModel: type: object properties: accountId: type: integer durationMillis: type: integer endTime: type: string endpointId: type: integer groupIds: type: array items: type: string id: type: integer maxMemoryMB: type: integer operation: $ref: '#/components/schemas/transaction.Operation' shardBatchKey: type: string shardId: type: integer startTime: type: string state: $ref: '#/components/schemas/transaction.State' steps: $ref: '#/components/schemas/transaction.Steps' trigger: $ref: '#/components/schemas/transaction.Trigger' triggeredBy: type: string workerId: type: string transaction.ListReadModel: type: object properties: nextPageToken: type: string transactions: type: array items: $ref: '#/components/schemas/transaction.ReadModel' securitySchemes: OAuth2Implicit: type: oauth2 flows: implicit: scopes: email: User email address openid: OpenID Connect scope profile: User profile information authorizationUrl: https://auth.flumehealth.com/authorize?audience=https://console.flumehealth.com/api