openapi: 3.1.0 info: title: Workday Report Writer Workday Prism Analytics Buckets API description: REST API for working with Workday Prism Analytics tables, datasets, and data change tasks. Enables programmatic loading of external data into Prism Analytics for advanced reporting and analytics that combines internal Workday data with external sources. Supports creating tables with schema definitions, uploading compressed data files via buckets, and executing data change tasks to apply inserts, updates, upserts, and deletes. version: v3 contact: name: Workday Support url: https://www.workday.com/en-us/company/contact-us.html termsOfService: https://www.workday.com/en-us/legal.html servers: - url: https://{hostname}/api/prismAnalytics/v3/{tenant} description: Workday Prism Analytics Production variables: hostname: description: Workday data center hostname, varies by tenant deployment default: wd2-impl-services1.workday.com tenant: description: Workday tenant name default: your-tenant security: - bearerAuth: [] tags: - name: Buckets description: Manage file upload buckets for staging compressed data files before executing data change tasks against tables paths: /buckets: get: operationId: listBuckets summary: Workday Report Writer List File Upload Buckets description: Retrieve a collection of file upload buckets. Buckets are used to stage compressed data files before executing data change tasks. tags: - Buckets parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Buckets retrieved successfully content: application/json: schema: type: object properties: total: type: integer description: Total number of buckets data: type: array items: $ref: '#/components/schemas/Bucket' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createBucket summary: Workday Report Writer Create a File Upload Bucket description: Create a new bucket for uploading data files to a specific Prism Analytics table. The bucket must be associated with a table and specifies the data change operation type. tags: - Buckets requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BucketCreateRequest' responses: '201': description: Bucket created successfully content: application/json: schema: $ref: '#/components/schemas/Bucket' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /buckets/{bucketId}: get: operationId: getBucket summary: Workday Report Writer Get a File Upload Bucket description: Retrieve details of a specific bucket including its state, associated table, and uploaded file count. tags: - Buckets parameters: - $ref: '#/components/parameters/bucketId' responses: '200': description: Bucket details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/Bucket' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /buckets/{bucketId}/files: post: operationId: uploadFileToBucket summary: Workday Report Writer Upload a File to a Bucket description: Upload a single gzip-compressed data file to a bucket. Files must be delimited (CSV) and gzip compressed. The bucket state must be New. Multiple files can be uploaded by making multiple POST requests sequentially or concurrently. Maximum upload size for a single compressed file is 256 MB. tags: - Buckets parameters: - $ref: '#/components/parameters/bucketId' requestBody: required: true content: application/gzip: schema: type: string format: binary description: Gzip-compressed delimited data file (CSV format) responses: '200': description: File uploaded successfully '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /buckets/{bucketId}/complete: post: operationId: completeBucket summary: Workday Report Writer Complete a Bucket and Trigger Data Change Task description: Mark a bucket as complete after all files have been uploaded. This triggers the associated data change task to process the uploaded files and apply the data changes to the target Prism Analytics table. tags: - Buckets parameters: - $ref: '#/components/parameters/bucketId' responses: '200': description: Bucket completed and data change task initiated content: application/json: schema: $ref: '#/components/schemas/Bucket' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: BucketCreateRequest: type: object description: Request body for creating a new file upload bucket required: - name - operation - targetTable properties: name: type: string description: Name for the bucket operation: type: string description: Data change operation to perform enum: - TruncateAndInsert - Insert - Update - Upsert - Delete targetTable: type: object required: - id properties: id: type: string description: ID of the target Prism Analytics table Bucket: type: object description: A file upload bucket for staging data files before executing data change operations on a Prism Analytics table properties: id: type: string description: Unique identifier of the bucket name: type: string description: Bucket name state: type: string description: Current state of the bucket enum: - New - Processing - Success - Error operation: type: string description: Type of data change operation enum: - TruncateAndInsert - Insert - Update - Upsert - Delete targetTable: type: object properties: id: type: string description: ID of the target table descriptor: type: string description: Display name of the target table description: The Prism Analytics table to load data into fileCount: type: integer description: Number of files uploaded to the bucket createdOn: type: string format: date-time description: Timestamp when the bucket was created parameters: offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 bucketId: name: bucketId in: path required: true description: Unique identifier of the file upload bucket schema: type: string limit: name: limit in: query description: Maximum number of results to return per page schema: type: integer default: 20 maximum: 100 responses: Unauthorized: description: Authentication credentials are missing or invalid NotFound: description: The specified resource was not found BadRequest: description: The request was malformed or contained invalid data securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token obtained from Workday token endpoint. Requires the Prism Analytics scope. externalDocs: description: Workday Prism Analytics API Documentation url: https://doc.workday.com/admin-guide/en-us/workday-prism-analytics/workday-prism-analytics-api.html