openapi: 3.1.0 info: title: Workday Report Writer Workday Prism Analytics Buckets Tables 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: Tables description: Create and manage Prism Analytics tables that define the schema for external data loaded into Workday for reporting and analytics paths: /tables: get: operationId: listTables summary: Workday Report Writer List Prism Analytics Tables description: Retrieve a collection of Prism Analytics tables available in the tenant. Tables define the schema for external data loaded into Workday. tags: - Tables parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: name in: query description: Filter tables by name schema: type: string responses: '200': description: Tables retrieved successfully content: application/json: schema: type: object properties: total: type: integer description: Total number of tables data: type: array items: $ref: '#/components/schemas/Table' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createTable summary: Workday Report Writer Create a Prism Analytics Table description: Create a new Prism Analytics table with a defined schema. The table schema specifies the fields, data types, and constraints for the external data that will be loaded. tags: - Tables requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TableCreateRequest' responses: '201': description: Table created successfully content: application/json: schema: $ref: '#/components/schemas/Table' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /tables/{tableId}: get: operationId: getTable summary: Workday Report Writer Get a Prism Analytics Table description: Retrieve details of a specific Prism Analytics table including its schema definition, field mappings, and current state. tags: - Tables parameters: - $ref: '#/components/parameters/tableId' responses: '200': description: Table details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/Table' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: operationId: updateTable summary: Workday Report Writer Update a Prism Analytics Table description: Update the display name or description of an existing Prism Analytics table. Schema changes require creating a new table version. tags: - Tables parameters: - $ref: '#/components/parameters/tableId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TableUpdateRequest' responses: '200': description: Table updated successfully content: application/json: schema: $ref: '#/components/schemas/Table' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: TableUpdateRequest: type: object description: Request body for updating a Prism Analytics table properties: displayName: type: string description: Updated display name description: type: string description: Updated description TableField: type: object description: A field definition within a Prism Analytics table schema properties: name: type: string description: Field name used in data files and queries displayName: type: string description: Display name shown in the Prism Analytics UI fieldId: type: string description: Unique identifier of the field ordinal: type: integer description: Position index of the field in the schema type: $ref: '#/components/schemas/FieldType' required: type: boolean description: Whether the field is required for data loading externalId: type: boolean description: Whether this field serves as a unique identifier for upsert and delete operations precision: type: integer description: Number of decimal places for numeric fields FieldType: type: object description: Data type specification for a table field properties: id: type: string description: Type identifier enum: - Text - Numeric - Date - Boolean - Instance descriptor: type: string description: Display name of the field type Table: type: object description: A Prism Analytics table defining the schema for external data loaded into Workday properties: id: type: string description: Unique identifier (WID) of the table displayName: type: string description: Display name of the table name: type: string description: API name of the table description: type: string description: Description of the table purpose and contents enableForAnalysis: type: boolean description: Whether the table is enabled for use in Prism reports fields: type: array items: $ref: '#/components/schemas/TableField' description: Schema field definitions for the table rowCount: type: integer description: Current number of rows in the table createdOn: type: string format: date-time description: Timestamp when the table was created updatedOn: type: string format: date-time description: Timestamp when the table was last modified TableCreateRequest: type: object description: Request body for creating a new Prism Analytics table required: - displayName - fields properties: displayName: type: string description: Display name for the new table description: type: string description: Description of the table purpose enableForAnalysis: type: boolean description: Whether to enable the table for Prism reports default: true fields: type: array items: $ref: '#/components/schemas/TableField' description: Schema field definitions parameters: tableId: name: tableId in: path required: true description: Unique identifier (WID) of the Prism Analytics table schema: type: string offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 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