Workday Report Writer Buckets API

Manage file upload buckets for staging compressed data files before executing data change tasks against tables

OpenAPI Specification

workday-report-writer-buckets-api-openapi.yml Raw ↑
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