openapi: 3.2.0 info: contact: email: finance-apis@doit.wisc.edu name: DoIT Enterprise Business Systems (EBS) Integrated Business Solutions (IBS) API Team description: 'An API for accessing and validating UW financial data. ## Getting Started For information on how to create an application on the portal and request access to the API, please visit the [Getting Started page](https://financeapis.wisc.edu/getting-started/) on our website. ## Endpoints, Filtering, Inclusions, and Sourcing Information on how to use the filter query parameter and include related resources, individual endpoints, and how we source our data can be found on the [Documentation page](https://financeapis.wisc.edu/documentation/) of our website. ## Help/Support If you need assistance in using the Finance API, have questions about the data, need to report a bug, or would like to suggest features/improvements, please fill out the form on the [Contact Us page](https://financeapis.wisc.edu/contact-us/) of our website or email us at [finance-apis@doit.wisc.edu](mailto:finance-apis@doit.wisc.edu).' title: Finance Other API version: 2026-02-18 servers: - description: Production url: https://api.wisc.edu/finance security: - OAuth2ClientCredentials: [] tags: - name: Other paths: /assets: get: description: Retrieves a paginated listing of all assets. parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The identifier of the record. in: query name: filter[id] required: false schema: type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[accountingTreatment] schema: type: string - in: query name: filter[acquisitionDate] schema: format: date type: string - in: query name: filter[acquisitionMethod] schema: type: string - in: query name: filter[accumulatedDepreciation] schema: format: double type: number - in: query name: filter[assetClass] schema: type: string - in: query name: filter[assetCost] schema: format: double type: number - in: query name: filter[assetDescription] schema: type: string - in: query name: filter[assetIdentifier] schema: type: string - in: query name: filter[assetName] schema: type: string - in: query name: filter[assetSource] schema: type: string - in: query name: filter[assetStatus] schema: type: string - in: query name: filter[assetType] schema: type: string - in: query name: filter[awardId] schema: type: string - in: query name: filter[company] schema: type: string - in: query name: filter[conditionCode] schema: type: string - in: query name: filter[contractId] schema: type: string - in: query name: filter[coordinatingCostCenterId] schema: type: string - in: query name: filter[costCenterId] schema: type: string - in: query name: filter[datePlacedInService] schema: format: date type: string - in: query name: filter[dateRegistered] schema: format: date type: string - in: query name: filter[depreciationMethod] schema: type: string - in: query name: filter[depreciationProfile] schema: type: string - in: query name: filter[depreciationStartDate] schema: format: date type: string - in: query name: filter[disposalDate] schema: format: date type: string - in: query name: filter[disposalMethod] schema: type: string - in: query name: filter[functionId] schema: type: string - in: query name: filter[fundId] schema: type: string - in: query name: filter[giftId] schema: type: string - in: query name: filter[grantId] schema: type: string - in: query name: filter[historicAssetIdentifier] schema: type: string - in: query name: filter[lastIssuedOrTransferredDate] schema: format: date type: string - in: query name: filter[lastPhysicalInventoryDate] schema: format: date type: string - in: query name: filter[locationId] schema: type: string - in: query name: filter[manufacturer] schema: type: string - in: query name: filter[memo] schema: type: string - in: query name: filter[modelNumber] schema: type: string - in: query name: filter[netBookValue] schema: format: double type: number - in: query name: filter[purchaseOrderId] schema: type: string - in: query name: filter[programId] schema: type: string - in: query name: filter[projectId] schema: type: string - in: query name: filter[serialNumber] schema: type: string - in: query name: filter[sfsAssetId] schema: type: string - in: query name: filter[sfsProjectId] schema: type: string - in: query name: filter[spendCategoryId] schema: type: string - in: query name: filter[supplierInvoiceId] schema: type: string - in: query name: filter[usefulLifePeriods] schema: format: int64 type: integer - in: query name: filter[shares.awardId] schema: type: string - in: query name: filter[shares.costCenterId] schema: type: string - in: query name: filter[shares.functionId] schema: type: string - in: query name: filter[shares.fundId] schema: type: string - in: query name: filter[shares.giftId] schema: type: string - in: query name: filter[shares.grantId] schema: type: string - in: query name: filter[shares.id] schema: type: string - in: query name: filter[shares.programId] schema: type: string - in: query name: filter[shares.projectId] schema: type: string - in: query name: filter[shares.shareAmount] schema: format: double type: number - in: query name: filter[shares.shareClass] schema: type: string - in: query name: filter[shares.shareType] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: accountingTreatment: Non-depreciable Capital Asset accumulatedDepreciation: 6583.94 acquisitionDate: '2024-07-01' acquisitionMethod: Intercompany Transfer assetClass: Athletic Recreational Equipment assetCost: 11500.0 assetDescription: Badger costume with football jersey for 5-6ft tall performer. assetIdentifier: UWSA-8000001 assetName: Badger costume football 5-6ft assetSource: Supplier Contract Receipt assetStatus: In Service assetType: Capital Equipment awardId: AWD-001234 company: UWMSN conditionCode: 1 - Excellent contractId: CON-00001234 coordinatingCostCenterId: CC001234 costCenterId: CC002345 datePlacedInService: '2024-07-01' dateRegistered: '2024-07-01' depreciationMethod: Straight Line depreciationProfile: Straight Line 8-Year depreciationStartDate: '2024-07-01' disposalDate: '2024-07-01' disposalMethod: Discard functionId: FN0100 fundId: FD0200 giftId: GF000007664 grantId: GR000018391 historicAssetIdentifier: U0627605 lastIssuedOrTransferredDate: '2024-07-01' lastPhysicalInventoryDate: '2024-07-01' locationId: LCMSN_0003_01_0123 manufacturer: Bucky Badger Costuming Inc memo: 'Primary loc: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706 Secondary loc: Camp Randall Stadium, 1440 Monroe St, 020 Locker Room, Madison, WI 53711' modelNumber: BUCKY013 netBookValue: 4916.06 programId: GF000007664 projectId: PJ000000409 purchaseOrderId: PO-00123456 serialNumber: B3819332581 sfsAssetId: 000000009113 sfsProjectId: AAZ3911 shares: - awardId: AWD-001234 costCenterId: CC002345 functionId: FN0100 fundId: FD0200 giftId: GF000007664 grantId: GR000018391 id: 1000-0 programId: GF000007664 projectId: PJ000000409 shareAmount: 3816.06 shareClass: Athletic Recreational Equipment shareType: Capital Equipment spendCategoryId: SC00234 supplierInvoiceId: SC00234 usefulLifePeriods: 96 id: BAS-01234567 links: self: https://api.wisc.edu/finance/assets/BAS-01234567 meta: lastModified: 2026-06-15 13:11:13 type: assets links: first: https://api.wisc.edu/finance/assets?page[first]=1 last: https://api.wisc.edu/finance/assets?page[last]=99 next: https://api.wisc.edu/finance/assets?page[next]=2 prev: https://api.wisc.edu/finance/assets?page[prev]=1 self: https://api.wisc.edu/finance/assets meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of assets. items: description: A single asset record. properties: attributes: properties: accountingTreatment: description: How to treat the asset from a depreciation standpoint. enum: - Depreciable Capital Asset - Expense - Non-depreciable Capital Asset example: Non-depreciable Capital Asset type: - string - 'null' accumulatedDepreciation: default: 0.0 description: 'The accumulated depreciation posted to the asset. This value should increase over the useful life of the asset according to its depreciation profile up to its total cost/value. If an asset is split across several shares, this value reflects the overall total depreciation. ' example: 6583.94 format: double type: number acquisitionDate: description: The date the asset was acquired. example: '2024-07-01' format: date type: - string - 'null' acquisitionMethod: description: How the asset was acquired. enum: - Intercompany Transfer - Leased - Other - Purchased example: Intercompany Transfer type: - string - 'null' assetClass: description: The class of the asset. example: Athletic Recreational Equipment type: - string - 'null' assetCost: default: 0.0 description: The total acquisition cost/value of the asset. example: 11500.0 format: double type: number assetDescription: description: 'The description of the asset. This field has no size limit; some descriptions are over 1,000 characters long and contain line breaks. ' example: Badger costume with football jersey for 5-6ft tall performer. type: - string - 'null' assetIdentifier: description: The identifier of the asset in a campus-specific asset tracking/management system. example: UWSA-8000001 type: - string - 'null' assetName: description: The name of the asset. example: Badger costume football 5-6ft type: - string - 'null' assetSource: description: How the asset was captured. enum: - Supplier Contract Receipt - Intercompany Transfer - Manual Registration - Supplier Invoice example: Supplier Contract Receipt type: - string - 'null' assetStatus: description: The status of the asset within the asset lifecycle. enum: - Disposed - In Service - Issued - Pending Registration - Registered - Removed example: In Service type: - string - 'null' assetType: description: The classification of the asset. example: Capital Equipment type: - string - 'null' awardId: description: The ID of the award associated with the asset. example: AWD-001234 type: - string - 'null' company: description: The company to which the asset is registered. example: UWMSN type: string conditionCode: description: The condition code of the asset. enum: - '' - 1 - Excellent - 4 - Usable - 7 - Repairable - S - Scrap - X - Salvage example: 1 - Excellent type: - string - 'null' contractId: description: The ID of the contract associated with the asset. example: CON-00001234 type: - string - 'null' coordinatingCostCenterId: description: 'The ID of the cost center of the asset''s coordinator. Some assets are purchased by the same cost center as the coordinator, in which case it will match the asset''s `costCenterId`. ' example: CC001234 type: - string - 'null' costCenterId: description: The ID of the cost center used to purchase the asset. example: CC002345 type: - string - 'null' datePlacedInService: description: The date the asset was placed in service. example: '2024-07-01' format: date type: - string - 'null' dateRegistered: description: The date the asset was registered in Workday. example: '2024-07-01' format: date type: - string - 'null' depreciationMethod: description: The depreciation method associated with the asset. enum: - '' - Straight Line - Term example: Straight Line type: - string - 'null' depreciationProfile: description: The depreciation profile associated with the asset. example: Straight Line 8-Year type: - string - 'null' depreciationStartDate: description: 'The date that depreciation of the asset began. This is usually the start of the first month of service. ' example: '2024-07-01' format: date type: - string - 'null' disposalDate: description: The date the asset was/will be disposed of. example: '2024-07-01' format: date type: - string - 'null' disposalMethod: description: The disposal method of the asset. enum: - '' - Discard - Intercompany Transfer - Sale example: Discard type: - string - 'null' functionId: description: The ID of the function associated with the asset. example: FN0100 type: - string - 'null' fundId: description: The ID of the fund associated with the asset. example: FD0200 type: - string - 'null' giftId: description: The ID of the gift associated with the asset. example: GF000007664 type: - string - 'null' grantId: description: The ID of the grant associated with the asset. example: GR000018391 type: - string - 'null' historicAssetIdentifier: description: The asset's identifier in a previous system. example: U0627605 type: - string - 'null' lastIssuedOrTransferredDate: description: The date the asset was last issued or transferred. example: '2024-07-01' format: date type: - string - 'null' lastPhysicalInventoryDate: description: The date the last physical inventory was taken on the asset. example: '2024-07-01' format: date type: - string - 'null' locationId: description: The ID of the location assigned to the asset. example: LCMSN_0003_01_0123 type: - string - 'null' manufacturer: description: The of the asset. example: Bucky Badger Costuming Inc type: - string - 'null' memo: description: 'Additional data or comments about the asset. For assets that predate Workday, this attribute also stores extra fields which do not have a Workday equivalent. This field has no size limit; some memos are over 1,000 characters long and contain line breaks. ' example: 'Primary loc: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706 Secondary loc: Camp Randall Stadium, 1440 Monroe St, 020 Locker Room, Madison, WI 53711' type: - string - 'null' modelNumber: description: For physical assets, the model number. example: BUCKY013 type: - string - 'null' netBookValue: default: 0.0 description: The current value of the asset, defined as the asset cost less accumulated depreciation. example: 4916.06 format: double type: number programId: description: The ID of the program associated with the asset. example: GF000007664 type: - string - 'null' projectId: description: The ID of the project associated with the asset. example: PJ000000409 type: - string - 'null' purchaseOrderId: description: 'The ID of the purchase order associated with the asset. This is usually an actual purchase order identifier you can use on the purchaseOrders endpoints, but some assets have poor formatting of the ID, multiple IDs, or had this field mistaken for another and have unrelated data. ' example: PO-00123456 type: - string - 'null' serialNumber: description: 'For physical assets, the serial number. This field has no size limit or standardized formatting. Some assets without a serial number were entered as `""` (empty string), others as `NONE`, `N/A`, `(blank)`, `UNKNOWN`, etc. Some assets have multiple serial numbers, and the way these are delimited also has no standard, with some being comma-separated and others being textual descriptions of what serial number goes with what part. ' example: B3819332581 type: - string - 'null' sfsAssetId: description: 'The legacy asset ID of the asset pulled during conversion from SFS. This field will not be used for any assets which post-date Workday go-live. ' example: 000000009113 type: - string - 'null' sfsProjectId: description: 'The legacy project ID of the asset pulled during conversion from SFS. This field will not be used for any assets which post-date Workday go-live. ' example: AAZ3911 type: - string - 'null' shares: description: 'When an asset''s cost/value is shared/split across multiple funding sources, this contains the group of sources representing their respective allocations. ' items: properties: awardId: description: The ID of the award associated with the share. example: AWD-001234 type: - string - 'null' costCenterId: description: The ID of the cost center of the share. example: CC002345 type: - string - 'null' functionId: description: The ID of the function associated with the share. example: FN0100 type: - string - 'null' fundId: description: The ID of the fund associated with the share. example: FD0200 type: - string - 'null' giftId: description: The ID of the gift associated with the share. example: GF000007664 type: - string - 'null' grantId: description: The ID of the grant associated with the share. example: GR000018391 type: - string - 'null' id: description: The ID of the share. example: 1000-0 type: string programId: description: The ID of the program associated with the share. example: GF000007664 type: - string - 'null' projectId: description: The ID of the project associated with the share. example: PJ000000409 type: - string - 'null' shareAmount: default: 0.0 description: 'The amount of the asset''s original cost associated with the share. When totaled, an asset''s shares'' share amounts should equal the asset''s cost. ' example: 3816.06 format: double type: number shareClass: description: The asset class associated with the share. example: Athletic Recreational Equipment type: - string - 'null' shareType: description: The asset classification associated with the share. example: Capital Equipment type: - string - 'null' type: object minItems: 0 type: array spendCategoryId: description: The ID of the spend category associated with the asset. example: SC00234 type: - string - 'null' supplierInvoiceId: description: 'The ID of the supplier invoice associated with the purchase of the asset. This is usually an actual supplier invoice identifier you can use on the supplierInvoice endpoints, but some have invoice IDs which predate Workday and others have multiple invoice IDs listed. ' example: SC00234 type: - string - 'null' usefulLifePeriods: default: 0 description: The useful life of the asset, measured in months. example: 96 format: int64 type: integer type: object id: description: The unique identifier for an asset record generated by Workday. example: BAS-01234567 type: string links: description: Links related to this record properties: self: description: The link to just this record example: https://api.wisc.edu/finance/assets/BAS-01234567 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - assets example: assets type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/assets?page[first]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/assets?page[last]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/assets?page[next]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/assets?page[prev]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/assets type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of assets, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /assets/{id}: get: description: Retrieves a asset by its ID. parameters: - description: An asset ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for an asset record generated by Workday. example: BAS-01234567 type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: accountingTreatment: Non-depreciable Capital Asset accumulatedDepreciation: 6583.94 acquisitionDate: '2024-07-01' acquisitionMethod: Intercompany Transfer assetClass: Athletic Recreational Equipment assetCost: 11500.0 assetDescription: Badger costume with football jersey for 5-6ft tall performer. assetIdentifier: UWSA-8000001 assetName: Badger costume football 5-6ft assetSource: Supplier Contract Receipt assetStatus: In Service assetType: Capital Equipment awardId: AWD-001234 company: UWMSN conditionCode: 1 - Excellent contractId: CON-00001234 coordinatingCostCenterId: CC001234 costCenterId: CC002345 datePlacedInService: '2024-07-01' dateRegistered: '2024-07-01' depreciationMethod: Straight Line depreciationProfile: Straight Line 8-Year depreciationStartDate: '2024-07-01' disposalDate: '2024-07-01' disposalMethod: Discard functionId: FN0100 fundId: FD0200 giftId: GF000007664 grantId: GR000018391 historicAssetIdentifier: U0627605 lastIssuedOrTransferredDate: '2024-07-01' lastPhysicalInventoryDate: '2024-07-01' locationId: LCMSN_0003_01_0123 manufacturer: Bucky Badger Costuming Inc memo: 'Primary loc: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706 Secondary loc: Camp Randall Stadium, 1440 Monroe St, 020 Locker Room, Madison, WI 53711' modelNumber: BUCKY013 netBookValue: 4916.06 programId: GF000007664 projectId: PJ000000409 purchaseOrderId: PO-00123456 serialNumber: B3819332581 sfsAssetId: 000000009113 sfsProjectId: AAZ3911 shares: - awardId: AWD-001234 costCenterId: CC002345 functionId: FN0100 fundId: FD0200 giftId: GF000007664 grantId: GR000018391 id: 1000-0 programId: GF000007664 projectId: PJ000000409 shareAmount: 3816.06 shareClass: Athletic Recreational Equipment shareType: Capital Equipment spendCategoryId: SC00234 supplierInvoiceId: SC00234 usefulLifePeriods: 96 id: BAS-01234567 links: self: https://api.wisc.edu/finance/assets/BAS-01234567 meta: lastModified: 2026-06-15 13:11:13 type: assets links: self: https://api.wisc.edu/finance/assets/BAS-01234567 schema: oneOf: - properties: data: description: A single asset record. properties: attributes: properties: accountingTreatment: description: How to treat the asset from a depreciation standpoint. enum: - Depreciable Capital Asset - Expense - Non-depreciable Capital Asset example: Non-depreciable Capital Asset type: - string - 'null' accumulatedDepreciation: default: 0.0 description: 'The accumulated depreciation posted to the asset. This value should increase over the useful life of the asset according to its depreciation profile up to its total cost/value. If an asset is split across several shares, this value reflects the overall total depreciation. ' example: 6583.94 format: double type: number acquisitionDate: description: The date the asset was acquired. example: '2024-07-01' format: date type: - string - 'null' acquisitionMethod: description: How the asset was acquired. enum: - Intercompany Transfer - Leased - Other - Purchased example: Intercompany Transfer type: - string - 'null' assetClass: description: The class of the asset. example: Athletic Recreational Equipment type: - string - 'null' assetCost: default: 0.0 description: The total acquisition cost/value of the asset. example: 11500.0 format: double type: number assetDescription: description: 'The description of the asset. This field has no size limit; some descriptions are over 1,000 characters long and contain line breaks. ' example: Badger costume with football jersey for 5-6ft tall performer. type: - string - 'null' assetIdentifier: description: The identifier of the asset in a campus-specific asset tracking/management system. example: UWSA-8000001 type: - string - 'null' assetName: description: The name of the asset. example: Badger costume football 5-6ft type: - string - 'null' assetSource: description: How the asset was captured. enum: - Supplier Contract Receipt - Intercompany Transfer - Manual Registration - Supplier Invoice example: Supplier Contract Receipt type: - string - 'null' assetStatus: description: The status of the asset within the asset lifecycle. enum: - Disposed - In Service - Issued - Pending Registration - Registered - Removed example: In Service type: - string - 'null' assetType: description: The classification of the asset. example: Capital Equipment type: - string - 'null' awardId: description: The ID of the award associated with the asset. example: AWD-001234 type: - string - 'null' company: description: The company to which the asset is registered. example: UWMSN type: string conditionCode: description: The condition code of the asset. enum: - '' - 1 - Excellent - 4 - Usable - 7 - Repairable - S - Scrap - X - Salvage example: 1 - Excellent type: - string - 'null' contractId: description: The ID of the contract associated with the asset. example: CON-00001234 type: - string - 'null' coordinatingCostCenterId: description: 'The ID of the cost center of the asset''s coordinator. Some assets are purchased by the same cost center as the coordinator, in which case it will match the asset''s `costCenterId`. ' example: CC001234 type: - string - 'null' costCenterId: description: The ID of the cost center used to purchase the asset. example: CC002345 type: - string - 'null' datePlacedInService: description: The date the asset was placed in service. example: '2024-07-01' format: date type: - string - 'null' dateRegistered: description: The date the asset was registered in Workday. example: '2024-07-01' format: date type: - string - 'null' depreciationMethod: description: The depreciation method associated with the asset. enum: - '' - Straight Line - Term example: Straight Line type: - string - 'null' depreciationProfile: description: The depreciation profile associated with the asset. example: Straight Line 8-Year type: - string - 'null' depreciationStartDate: description: 'The date that depreciation of the asset began. This is usually the start of the first month of service. ' example: '2024-07-01' format: date type: - string - 'null' disposalDate: description: The date the asset was/will be disposed of. example: '2024-07-01' format: date type: - string - 'null' disposalMethod: description: The disposal method of the asset. enum: - '' - Discard - Intercompany Transfer - Sale example: Discard type: - string - 'null' functionId: description: The ID of the function associated with the asset. example: FN0100 type: - string - 'null' fundId: description: The ID of the fund associated with the asset. example: FD0200 type: - string - 'null' giftId: description: The ID of the gift associated with the asset. example: GF000007664 type: - string - 'null' grantId: description: The ID of the grant associated with the asset. example: GR000018391 type: - string - 'null' historicAssetIdentifier: description: The asset's identifier in a previous system. example: U0627605 type: - string - 'null' lastIssuedOrTransferredDate: description: The date the asset was last issued or transferred. example: '2024-07-01' format: date type: - string - 'null' lastPhysicalInventoryDate: description: The date the last physical inventory was taken on the asset. example: '2024-07-01' format: date type: - string - 'null' locationId: description: The ID of the location assigned to the asset. example: LCMSN_0003_01_0123 type: - string - 'null' manufacturer: description: The of the asset. example: Bucky Badger Costuming Inc type: - string - 'null' memo: description: 'Additional data or comments about the asset. For assets that predate Workday, this attribute also stores extra fields which do not have a Workday equivalent. This field has no size limit; some memos are over 1,000 characters long and contain line breaks. ' example: 'Primary loc: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706 Secondary loc: Camp Randall Stadium, 1440 Monroe St, 020 Locker Room, Madison, WI 53711' type: - string - 'null' modelNumber: description: For physical assets, the model number. example: BUCKY013 type: - string - 'null' netBookValue: default: 0.0 description: The current value of the asset, defined as the asset cost less accumulated depreciation. example: 4916.06 format: double type: number programId: description: The ID of the program associated with the asset. example: GF000007664 type: - string - 'null' projectId: description: The ID of the project associated with the asset. example: PJ000000409 type: - string - 'null' purchaseOrderId: description: 'The ID of the purchase order associated with the asset. This is usually an actual purchase order identifier you can use on the purchaseOrders endpoints, but some assets have poor formatting of the ID, multiple IDs, or had this field mistaken for another and have unrelated data. ' example: PO-00123456 type: - string - 'null' serialNumber: description: 'For physical assets, the serial number. This field has no size limit or standardized formatting. Some assets without a serial number were entered as `""` (empty string), others as `NONE`, `N/A`, `(blank)`, `UNKNOWN`, etc. Some assets have multiple serial numbers, and the way these are delimited also has no standard, with some being comma-separated and others being textual descriptions of what serial number goes with what part. ' example: B3819332581 type: - string - 'null' sfsAssetId: description: 'The legacy asset ID of the asset pulled during conversion from SFS. This field will not be used for any assets which post-date Workday go-live. ' example: 000000009113 type: - string - 'null' sfsProjectId: description: 'The legacy project ID of the asset pulled during conversion from SFS. This field will not be used for any assets which post-date Workday go-live. ' example: AAZ3911 type: - string - 'null' shares: description: 'When an asset''s cost/value is shared/split across multiple funding sources, this contains the group of sources representing their respective allocations. ' items: properties: awardId: description: The ID of the award associated with the share. example: AWD-001234 type: - string - 'null' costCenterId: description: The ID of the cost center of the share. example: CC002345 type: - string - 'null' functionId: description: The ID of the function associated with the share. example: FN0100 type: - string - 'null' fundId: description: The ID of the fund associated with the share. example: FD0200 type: - string - 'null' giftId: description: The ID of the gift associated with the share. example: GF000007664 type: - string - 'null' grantId: description: The ID of the grant associated with the share. example: GR000018391 type: - string - 'null' id: description: The ID of the share. example: 1000-0 type: string programId: description: The ID of the program associated with the share. example: GF000007664 type: - string - 'null' projectId: description: The ID of the project associated with the share. example: PJ000000409 type: - string - 'null' shareAmount: default: 0.0 description: 'The amount of the asset''s original cost associated with the share. When totaled, an asset''s shares'' share amounts should equal the asset''s cost. ' example: 3816.06 format: double type: number shareClass: description: The asset class associated with the share. example: Athletic Recreational Equipment type: - string - 'null' shareType: description: The asset classification associated with the share. example: Capital Equipment type: - string - 'null' type: object minItems: 0 type: array spendCategoryId: description: The ID of the spend category associated with the asset. example: SC00234 type: - string - 'null' supplierInvoiceId: description: 'The ID of the supplier invoice associated with the purchase of the asset. This is usually an actual supplier invoice identifier you can use on the supplierInvoice endpoints, but some have invoice IDs which predate Workday and others have multiple invoice IDs listed. ' example: SC00234 type: - string - 'null' usefulLifePeriods: default: 0 description: The useful life of the asset, measured in months. example: 96 format: int64 type: integer type: object id: description: The unique identifier for an asset record generated by Workday. example: BAS-01234567 type: string links: description: Links related to this record properties: self: description: The link to just this record example: https://api.wisc.edu/finance/assets/BAS-01234567 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - assets example: assets type: string type: object links: description: Links related to this record properties: self: description: The link to just this record example: https://api.wisc.edu/finance/assets/BAS-01234567 type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single asset record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /budgetLines: get: description: Retrieves a paginated listing of all budget lines. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[awardId] schema: type: string - in: query name: filter[fundId] schema: type: string - in: query name: filter[grantId] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: amendmentDate: '2025-04-01' amendmentId: BAM-0000000347 amendmentType: Award Budget Reallocation awardId: AWD-000001 debitMinusCredit: 0 fundId: FD0001 grantId: GR000000001 objectClass: 'Sponsored Programs: 1000 Personnel' id: 11a0733a92c69000d3f18bb280070000 links: self: 'https://api.wisc.edu/finance/budgetLines/11a0733a92c69000d3f18bb280070000 ' meta: lastModified: 2026-06-15 13:11:13 type: budgetLines links: first: https://api.wisc.edu/finance/budgetLines?page[number]=1 last: https://api.wisc.edu/finance/budgetLines?page[number]=99 next: https://api.wisc.edu/finance/budgetLines/page[number]=2 prev: https://api.wisc.edu/finance/budgetLines?page[number]=1 self: https://api.wisc.edu/finance/budgetLines meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of budget lines. items: description: A single budget line record. properties: attributes: properties: amendmentDate: description: The date the amendment was made example: '2025-04-01' format: date type: - string - 'null' amendmentId: description: The ID of the amendment example: BAM-0000000347 type: - string - 'null' amendmentType: description: The type of the amendment example: Award Budget Reallocation type: - string - 'null' awardId: description: The ID of the associated award example: AWD-000001 type: string debitMinusCredit: description: The dollar amount of the debit minus the credit example: 0 format: currency type: number fundId: description: The ID of the associated fund example: FD0001 type: string grantId: description: The ID of the associated grant example: GR000000001 type: string objectClass: example: 'Sponsored Programs: 1000 Personnel' type: - string - 'null' type: object id: description: The unique identifier for a budget line record. example: 11a0733a92c69000d3f18bb280070000 type: string links: description: Links related to this record properties: self: example: 'https://api.wisc.edu/finance/budgetLines/11a0733a92c69000d3f18bb280070000 ' type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: budgetLines type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/budgetLines?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/budgetLines?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/budgetLines/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/budgetLines?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/budgetLines type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of budget lines, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /budgetLines/{id}: get: description: Retrieves a single budget line by its ID. parameters: - description: A budget line ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a budget line record. example: 11a0733a92c69000d3f18bb280070000 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: amendmentDate: '2025-04-01' amendmentId: BAM-0000000347 amendmentType: Award Budget Reallocation awardId: AWD-000001 debitMinusCredit: 0 fundId: FD0001 grantId: GR000000001 objectClass: 'Sponsored Programs: 1000 Personnel' id: 11a0733a92c69000d3f18bb280070000 links: self: 'https://api.wisc.edu/finance/budgetLines/11a0733a92c69000d3f18bb280070000 ' meta: lastModified: 2026-06-15 13:11:13 type: budgetLines links: self: 'https://api.wisc.edu/finance/budgetLines/11a0733a92c69000d3f18bb280070000 ' schema: properties: data: description: A single budget line record. properties: attributes: properties: amendmentDate: description: The date the amendment was made example: '2025-04-01' format: date type: - string - 'null' amendmentId: description: The ID of the amendment example: BAM-0000000347 type: - string - 'null' amendmentType: description: The type of the amendment example: Award Budget Reallocation type: - string - 'null' awardId: description: The ID of the associated award example: AWD-000001 type: string debitMinusCredit: description: The dollar amount of the debit minus the credit example: 0 format: currency type: number fundId: description: The ID of the associated fund example: FD0001 type: string grantId: description: The ID of the associated grant example: GR000000001 type: string objectClass: example: 'Sponsored Programs: 1000 Personnel' type: - string - 'null' type: object id: description: The unique identifier for a budget line record. example: 11a0733a92c69000d3f18bb280070000 type: string links: description: Links related to this record properties: self: example: 'https://api.wisc.edu/finance/budgetLines/11a0733a92c69000d3f18bb280070000 ' type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: budgetLines type: string type: object links: description: Links related to this record properties: self: example: 'https://api.wisc.edu/finance/budgetLines/11a0733a92c69000d3f18bb280070000 ' type: string type: object type: object description: An API response with a singe budget line record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /catalogItems: get: description: Retrieves a paginated listing of all catalog items. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[active] schema: type: boolean - in: query name: filter[catalogName] schema: type: string - in: query name: filter[catalogId] schema: type: string - in: query name: filter[itemDescription] schema: type: string - in: query name: filter[itemName] schema: type: string - in: query name: filter[resourceProvider] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: active: false catalogId: UWEAU-Recreation_and_Sport_Operations_-_EAC_Internal_Catalog catalogName: UWEAU-Recreation and Sport Operations - EAC Internal Catalog itemDescription: EAC Climbing Wall itemName: Climbing Wall resourceProvider: UWEAU-Recreation and Sport Operations - EAC unitOfMeasure: Each uomEdiCodeId: EA id: Babcock_001 links: self: https://api.wisc.edu/finance/catalogItems/Babcock_001 meta: lastModified: 2026-06-15 13:11:13 type: catalogItems links: first: https://api.wisc.edu/finance/catalogItems?page[number]=1 last: https://api.wisc.edu/finance/catalogItems?page[number]=99 next: https://api.wisc.edu/finance/catalogItems/page[number]=2 prev: https://api.wisc.edu/finance/catalogItems?page[number]=1 self: https://api.wisc.edu/finance/catalogItems meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of catalog items. items: description: A single catalogItem record. properties: attributes: properties: active: description: Whether entity is active. example: false type: - boolean - 'null' catalogId: description: The reference ID of the catalog item. example: UWEAU-Recreation_and_Sport_Operations_-_EAC_Internal_Catalog type: string catalogName: description: The name of the catalog this item comes from. example: UWEAU-Recreation and Sport Operations - EAC Internal Catalog type: string itemDescription: description: A longer description of the item, if available example: EAC Climbing Wall type: string itemName: description: The full name of the catalog item. example: Climbing Wall type: string resourceProvider: description: The provider of this catalog item. example: UWEAU-Recreation and Sport Operations - EAC type: string unitOfMeasure: description: The unit by which this item is priced. example: Each type: string uomEdiCodeId: description: The EDI code for the unit of measure above. example: EA type: string type: object id: description: The unique identifier for a catalog item record. example: Babcock_001 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/catalogItems/Babcock_001 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: catalogItems type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/catalogItems?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/catalogItems?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/catalogItems/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/catalogItems?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/catalogItems type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of catalog items, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /catalogItems/{id}: get: description: Retrieves a single catalog item by its ID. parameters: - description: A catalog item ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a catalog item record. example: Babcock_001 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: active: false catalogId: UWEAU-Recreation_and_Sport_Operations_-_EAC_Internal_Catalog catalogName: UWEAU-Recreation and Sport Operations - EAC Internal Catalog itemDescription: EAC Climbing Wall itemName: Climbing Wall resourceProvider: UWEAU-Recreation and Sport Operations - EAC unitOfMeasure: Each uomEdiCodeId: EA id: Babcock_001 links: self: https://api.wisc.edu/finance/catalogItems/Babcock_001 meta: lastModified: 2026-06-15 13:11:13 type: catalogItems links: self: https://api.wisc.edu/finance/catalogItems/Babcock_001 schema: properties: data: description: A single catalogItem record. properties: attributes: properties: active: description: Whether entity is active. example: false type: - boolean - 'null' catalogId: description: The reference ID of the catalog item. example: UWEAU-Recreation_and_Sport_Operations_-_EAC_Internal_Catalog type: string catalogName: description: The name of the catalog this item comes from. example: UWEAU-Recreation and Sport Operations - EAC Internal Catalog type: string itemDescription: description: A longer description of the item, if available example: EAC Climbing Wall type: string itemName: description: The full name of the catalog item. example: Climbing Wall type: string resourceProvider: description: The provider of this catalog item. example: UWEAU-Recreation and Sport Operations - EAC type: string unitOfMeasure: description: The unit by which this item is priced. example: Each type: string uomEdiCodeId: description: The EDI code for the unit of measure above. example: EA type: string type: object id: description: The unique identifier for a catalog item record. example: Babcock_001 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/catalogItems/Babcock_001 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: catalogItems type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/catalogItems/Babcock_001 type: string type: object type: object description: An API response with a singe catalog item record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /customerInvoices: get: description: Retrieves a paginated listing of all customer invoices. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[company] schema: type: string - in: query name: filter[customerId] schema: type: string - in: query name: filter[invoiceDate] schema: type: string - in: query name: filter[dueDate] schema: type: string - in: query name: filter[status] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: amountDue: 22.61 company: UWMSN customerBillToAddress: 39 University Houses customerBillToContactName: Amy Welk customerId: CUS0001451 customerName: Bernie's Place Inc dueDate: '2022-12-15' invoiceDate: '2022-12-15' netInvoiceAmount: 22.61 paymentTerms: Due Upon Receipt status: Approved taxAmount: 0 totalInvoiceAmount: 22.61 id: AR-0001859-OA-08/01/24 links: self: https://api.wisc.edu/finance/customerInvoices/AR-0001859-OA-08/01/24 meta: lastModified: 2026-06-15 13:11:13 type: customerInvoices links: first: https://api.wisc.edu/finance/customerInvoices?page[number]=1 last: https://api.wisc.edu/finance/customerInvoices?page[number]=99 next: https://api.wisc.edu/finance/customerInvoices/page[number]=2 prev: https://api.wisc.edu/finance/customerInvoices?page[number]=1 self: https://api.wisc.edu/finance/customerInvoices meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of customer invoices. items: description: A single customer invoice record. properties: attributes: properties: amountDue: description: Dollar amount due on this invoice example: 22.61 format: currency type: number company: description: Name of Customer Invoices. example: UWMSN type: string customerBillToAddress: description: Customer bill address of Customer Invoices. example: 39 University Houses type: - string - 'null' customerBillToContactName: description: Bill to contact of the Customer Invoices document. example: Amy Welk type: - string - 'null' customerId: description: CustomerId for Customer Invoices. example: CUS0001451 type: - string - 'null' customerName: description: Customer Customer Invoices. example: Bernie's Place Inc type: - string - 'null' dueDate: description: Due date Customer Invoices. example: '2022-12-15' format: date type: string invoiceDate: description: Invoice date of Customer Invoices. example: '2022-12-15' format: date type: string netInvoiceAmount: description: Net invoice dollar amount example: 22.61 format: currency type: number paymentTerms: description: Payment Terms example: Due Upon Receipt type: string status: description: Status of invoice example: Approved type: string taxAmount: description: Tax dollar amount example: 0 format: currency type: - number - 'null' totalInvoiceAmount: description: Total invoice dollar amount example: 22.61 format: currency type: number type: object id: description: The unique identifier for a customer invoice record. example: AR-0001859-OA-08/01/24 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/customerInvoices/AR-0001859-OA-08/01/24 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: customerInvoices type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/customerInvoices?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/customerInvoices?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/customerInvoices/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/customerInvoices?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/customerInvoices type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of customer invoices, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /customerInvoices/{id}: get: description: Retrieves a single customer invoice by its ID. parameters: - description: A customer invoice ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a customer invoice record. example: AR-0001859-OA-08/01/24 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: amountDue: 22.61 company: UWMSN customerBillToAddress: 39 University Houses customerBillToContactName: Amy Welk customerId: CUS0001451 customerName: Bernie's Place Inc dueDate: '2022-12-15' invoiceDate: '2022-12-15' netInvoiceAmount: 22.61 paymentTerms: Due Upon Receipt status: Approved taxAmount: 0 totalInvoiceAmount: 22.61 id: AR-0001859-OA-08/01/24 links: self: https://api.wisc.edu/finance/customerInvoices/AR-0001859-OA-08/01/24 meta: lastModified: 2026-06-15 13:11:13 type: customerInvoices links: self: https://api.wisc.edu/finance/customerInvoices/AR-0001859-OA-08/01/24 schema: properties: data: description: A single customer invoice record. properties: attributes: properties: amountDue: description: Dollar amount due on this invoice example: 22.61 format: currency type: number company: description: Name of Customer Invoices. example: UWMSN type: string customerBillToAddress: description: Customer bill address of Customer Invoices. example: 39 University Houses type: - string - 'null' customerBillToContactName: description: Bill to contact of the Customer Invoices document. example: Amy Welk type: - string - 'null' customerId: description: CustomerId for Customer Invoices. example: CUS0001451 type: - string - 'null' customerName: description: Customer Customer Invoices. example: Bernie's Place Inc type: - string - 'null' dueDate: description: Due date Customer Invoices. example: '2022-12-15' format: date type: string invoiceDate: description: Invoice date of Customer Invoices. example: '2022-12-15' format: date type: string netInvoiceAmount: description: Net invoice dollar amount example: 22.61 format: currency type: number paymentTerms: description: Payment Terms example: Due Upon Receipt type: string status: description: Status of invoice example: Approved type: string taxAmount: description: Tax dollar amount example: 0 format: currency type: - number - 'null' totalInvoiceAmount: description: Total invoice dollar amount example: 22.61 format: currency type: number type: object id: description: The unique identifier for a customer invoice record. example: AR-0001859-OA-08/01/24 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/customerInvoices/AR-0001859-OA-08/01/24 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: customerInvoices type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/customerInvoices/AR-0001859-OA-08/01/24 type: string type: object type: object description: An API response with a single customer invoice record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /expenseReports: get: description: Retrieves a paginated listing of all expense reports. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[businessPurpose] schema: type: string - in: query name: filter[date] schema: format: date - in: query name: filter[employeeName] schema: type: string - in: query name: filter[payToEmployeeId] schema: type: string - in: query name: filter[status] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: businessPurpose: Business Travel date: '2024-07-30' employeeName: John Smith payToBusinessTitle: Regional Travel Manager payToEmployeeId: '123456' payToEmployeeType: Regular payToJobCode: AD005 payToPositionId: '2163500' payToPositionTitle: Administrative Manager paymentType: Direct Deposit status: Approved id: ER-0000000001 links: self: https://api.wisc.edu/finance/expenseReports/ER-0000000001 meta: lastModified: 2026-06-15 13:11:13 type: expenseReports links: first: https://api.wisc.edu/finance/expenseReports?page[number]=1 last: https://api.wisc.edu/finance/expenseReports?page[number]=99 next: https://api.wisc.edu/finance/expenseReports/page[number]=2 prev: https://api.wisc.edu/finance/expenseReports?page[number]=1 self: https://api.wisc.edu/finance/expenseReports meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of expense reports. items: description: A single expense report record. properties: attributes: properties: businessPurpose: description: Reason for the expense report. example: Business Travel type: string date: description: The due date for the expense report. example: '2024-07-30' format: date type: string employeeName: description: Employee whom the expense report is for. example: John Smith type: - string - 'null' payToBusinessTitle: description: Employee job title. example: Regional Travel Manager type: - string - 'null' payToEmployeeId: description: Employee ID. example: '123456' type: - string - 'null' payToEmployeeType: description: Employee Type. example: Regular type: - string - 'null' payToJobCode: description: Employee Job Code. example: AD005 type: - string - 'null' payToPositionId: description: Employee Position ID. example: '2163500' type: - string - 'null' payToPositionTitle: description: Employee Position Title. example: Administrative Manager type: - string - 'null' paymentType: description: Payment Type. example: Direct Deposit type: string status: description: The approval status of the expense report. example: Approved type: string type: object id: description: The unique identifier for a expense report record. example: ER-0000000001 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/expenseReports/ER-0000000001 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: expenseReports type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/expenseReports?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/expenseReports?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/expenseReports/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/expenseReports?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/expenseReports type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of expense reports, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /expenseReports/{id}: get: description: Retrieves a single expense report by its ID. parameters: - description: A expense report ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a expense report record. example: ER-0000000001 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: businessPurpose: Business Travel date: '2024-07-30' employeeName: John Smith payToBusinessTitle: Regional Travel Manager payToEmployeeId: '123456' payToEmployeeType: Regular payToJobCode: AD005 payToPositionId: '2163500' payToPositionTitle: Administrative Manager paymentType: Direct Deposit status: Approved id: ER-0000000001 links: self: https://api.wisc.edu/finance/expenseReports/ER-0000000001 meta: lastModified: 2026-06-15 13:11:13 type: expenseReports links: self: https://api.wisc.edu/finance/expenseReports/ER-0000000001 schema: properties: data: description: A single expense report record. properties: attributes: properties: businessPurpose: description: Reason for the expense report. example: Business Travel type: string date: description: The due date for the expense report. example: '2024-07-30' format: date type: string employeeName: description: Employee whom the expense report is for. example: John Smith type: - string - 'null' payToBusinessTitle: description: Employee job title. example: Regional Travel Manager type: - string - 'null' payToEmployeeId: description: Employee ID. example: '123456' type: - string - 'null' payToEmployeeType: description: Employee Type. example: Regular type: - string - 'null' payToJobCode: description: Employee Job Code. example: AD005 type: - string - 'null' payToPositionId: description: Employee Position ID. example: '2163500' type: - string - 'null' payToPositionTitle: description: Employee Position Title. example: Administrative Manager type: - string - 'null' paymentType: description: Payment Type. example: Direct Deposit type: string status: description: The approval status of the expense report. example: Approved type: string type: object id: description: The unique identifier for a expense report record. example: ER-0000000001 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/expenseReports/ER-0000000001 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: expenseReports type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/expenseReports/ER-0000000001 type: string type: object type: object description: An API response with a single expense report record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /externalCustomers: get: description: Retrieves a paginated listing of all external customers. parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[active] schema: type: boolean - in: query name: filter[name] schema: type: string - in: query name: filter[referenceId] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: active: true address: - addressId: ADDRESS_REFERENCE-6-535792 addressLine1: 1234 Washington Ave addressLine2: Suite 200 addressUsage: Remit To; Billing; Shipping city: Madison countryCode: USA stateCode: WI billToContacts: - email: accountspayable@acme.org name: Accounts Payable referenceId: ARMSN_AR-0000001_AR-1 name: Acme organization referenceId: ARMSNAR-0000001 id: CUS0000001 links: self: https://api.wisc.edu/finance/externalCustomers/CUS0000001 meta: lastModified: 2026-06-15 13:11:13 type: externalCustomers links: first: https://api.wisc.edu/finance/externalCustomers?page[number]=1 last: https://api.wisc.edu/finance/externalCustomers?page[number]=99 next: https://api.wisc.edu/finance/externalCustomers/page[number]=2 prev: https://api.wisc.edu/finance/externalCustomers?page[number]=1 self: https://api.wisc.edu/finance/externalCustomers meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of external customers. items: description: A single external customer record. properties: attributes: properties: active: description: Whether the external customer is currently active or not. example: true type: boolean address: items: properties: addressId: description: Address id for the external customer. example: ADDRESS_REFERENCE-6-535792 type: string addressLine1: description: Address line of the external customer. example: 1234 Washington Ave type: - string - 'null' addressLine2: description: Address line of the external customer. example: Suite 200 type: - string - 'null' addressUsage: description: Allowed uses of this address. All external customers should have at least one Billing address. example: Remit To; Billing; Shipping type: string city: description: City of the external customer. example: Madison type: - string - 'null' countryCode: description: Country code of the external customer. example: USA type: string stateCode: description: State code of the external customer. example: WI type: - string - 'null' type: object minItems: 0 type: array billToContacts: items: properties: email: description: An email addressing for the billing contact example: accountspayable@acme.org type: string name: description: The name of the billing contact example: Accounts Payable type: string referenceId: description: An internal ID for this billing contact example: ARMSN_AR-0000001_AR-1 type: string type: object minItems: 0 type: array name: description: Name of the external customer. example: Acme organization type: string referenceId: description: Status of the external customer. example: ARMSNAR-0000001 type: string type: object id: description: The unique identifier for a external customer record. example: CUS0000001 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/externalCustomers/CUS0000001 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: externalCustomers type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/externalCustomers?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/externalCustomers?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/externalCustomers/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/externalCustomers?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/externalCustomers type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of external customers, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /externalCustomers/{id}: get: description: Retrieves a single external customer by its ID. parameters: - description: A external customer ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a external customer record. example: CUS0000001 type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: active: true address: - addressId: ADDRESS_REFERENCE-6-535792 addressLine1: 1234 Washington Ave addressLine2: Suite 200 addressUsage: Remit To; Billing; Shipping city: Madison countryCode: USA stateCode: WI billToContacts: - email: accountspayable@acme.org name: Accounts Payable referenceId: ARMSN_AR-0000001_AR-1 name: Acme organization referenceId: ARMSNAR-0000001 id: CUS0000001 links: self: https://api.wisc.edu/finance/externalCustomers/CUS0000001 meta: lastModified: 2026-06-15 13:11:13 type: externalCustomers links: self: https://api.wisc.edu/finance/externalCustomers/CUS0000001 schema: oneOf: - properties: data: description: A single external customer record. properties: attributes: properties: active: description: Whether the external customer is currently active or not. example: true type: boolean address: items: properties: addressId: description: Address id for the external customer. example: ADDRESS_REFERENCE-6-535792 type: string addressLine1: description: Address line of the external customer. example: 1234 Washington Ave type: - string - 'null' addressLine2: description: Address line of the external customer. example: Suite 200 type: - string - 'null' addressUsage: description: Allowed uses of this address. All external customers should have at least one Billing address. example: Remit To; Billing; Shipping type: string city: description: City of the external customer. example: Madison type: - string - 'null' countryCode: description: Country code of the external customer. example: USA type: string stateCode: description: State code of the external customer. example: WI type: - string - 'null' type: object minItems: 0 type: array billToContacts: items: properties: email: description: An email addressing for the billing contact example: accountspayable@acme.org type: string name: description: The name of the billing contact example: Accounts Payable type: string referenceId: description: An internal ID for this billing contact example: ARMSN_AR-0000001_AR-1 type: string type: object minItems: 0 type: array name: description: Name of the external customer. example: Acme organization type: string referenceId: description: Status of the external customer. example: ARMSNAR-0000001 type: string type: object id: description: The unique identifier for a external customer record. example: CUS0000001 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/externalCustomers/CUS0000001 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: externalCustomers type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/externalCustomers/CUS0000001 type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single external customer record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /internalServiceDeliveries: get: description: 'Retrieves a paginated listing of all internal service deliveries. This is not to be confused with the `isdLines` resource, which provides individual line items; this endpoint is intended for fetching/querying the entire ISD rather than just individual line items. For more information, see the [Internal Service Deliveries documentation](https://financeapis.wisc.edu/documentation/endpoints/internal-service-deliveries/) page on our website. ' parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The identifier of the record. in: query name: filter[id] required: false schema: type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[company] schema: type: string - in: query name: filter[provider] schema: type: string - in: query name: filter[providerId] schema: type: string - in: query name: filter[status] schema: type: string - in: query name: filter[lines.activityId] schema: type: string - in: query name: filter[lines.costCenterId] schema: type: string - in: query name: filter[lines.expenditureTreatment] schema: type: string - in: query name: filter[lines.extendedAmount] schema: format: double type: number - in: query name: filter[lines.functionId] schema: type: string - in: query name: filter[lines.fundId] schema: type: string - in: query name: filter[lines.giftId] schema: type: string - in: query name: filter[lines.grantId] schema: type: string - in: query name: filter[lines.id] schema: type: string - in: query name: filter[lines.isdId] schema: type: string - in: query name: filter[lines.itemDescription] schema: type: string - in: query name: filter[lines.itemName] schema: type: string - in: query name: filter[lines.lineDate] schema: format: date type: string - in: query name: filter[lines.lineNumber] schema: format: int64 type: integer - in: query name: filter[lines.memo] schema: type: string - in: query name: filter[lines.programId] schema: type: string - in: query name: filter[lines.projectId] schema: type: string - in: query name: filter[lines.quantity] schema: format: double type: number - in: query name: filter[lines.spendCategoryId] schema: type: string - in: query name: filter[lines.unitCost] schema: format: double type: number - in: query name: filter[lines.unitOfMeasure] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: company: UWMSN lines: - activityId: AC001699 costCenterId: CC002586 expenditureTreatment: ET0105 extendedAmount: 291.95 functionId: FN0701 fundId: FD0001 giftId: GF000007664 grantId: GR000000017 id: ISD-00000014-17 isdId: ISD-00000014 itemDescription: Finance API individual walkthrough and integration building guidance. itemName: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training lineDate: '2023-10-12' lineNumber: 17 memo: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' programId: PG000001298 projectId: PJ000000225 quantity: 2.5 spendCategoryId: SC00020 unitCost: 116.78 unitOfMeasure: Standard Cost Dollar provider: UWMSN DOIT - EBS Integrated Business Systems providerId: UWMSN_DOIT_EBS_Integrated_Business_Solutions status: Approved id: ISD-00000014 links: self: https://api.wisc.edu/finance/internalServiceDeliveries/ISD-00000014 meta: lastModified: 2026-06-15 13:11:13 type: internalServiceDeliveries links: first: https://api.wisc.edu/finance/internalServiceDeliveries?page[first]=1 last: https://api.wisc.edu/finance/internalServiceDeliveries?page[last]=99 next: https://api.wisc.edu/finance/internalServiceDeliveries?page[next]=2 prev: https://api.wisc.edu/finance/internalServiceDeliveries?page[prev]=1 self: https://api.wisc.edu/finance/internalServiceDeliveries meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of Internal Service Deliveries. items: description: A single Internal Service Delivery record. properties: attributes: properties: company: description: Company of the Internal Service Delivery. example: UWMSN type: string lines: description: The line items that make up this Internal Service Delivery. items: properties: activityId: description: Activity of the line item. example: AC001699 type: - string - 'null' costCenterId: description: Cost center of the line item. example: CC002586 type: - string - 'null' expenditureTreatment: description: Expenditure treatment of the line item. example: ET0105 type: - string - 'null' extendedAmount: description: The extended dollar amount of the line item. example: 291.95 format: double type: number functionId: description: Function of the line item. example: FN0701 type: - string - 'null' fundId: description: Fund of the line item. example: FD0001 type: - string - 'null' giftId: description: Gift of the line item. example: GF000007664 type: - string - 'null' grantId: description: Grant of the line item. example: GR000000017 type: - string - 'null' id: description: The unique identifier for the line item. example: ISD-00000014-17 type: string isdId: description: The Internal Service Delivery this line item belongs to. example: ISD-00000014 type: string itemDescription: description: 'Description of the line item. This field has no length or formatting restrictions. ' example: Finance API individual walkthrough and integration building guidance. type: - string - 'null' itemName: description: Name of the line item. example: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training type: - string - 'null' lineDate: description: Line date of the line item. example: '2023-10-12' format: date type: - string - 'null' lineNumber: description: Line item number within the Internal Service Delivery. example: 17 format: int64 type: integer memo: description: 'Memo on the line item. This field has no length or formatting restrictions. ' example: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' type: - string - 'null' programId: description: Program of the line item. example: PG000001298 type: - string - 'null' projectId: description: Project of the line item. example: PJ000000225 type: - string - 'null' quantity: description: Quantity of the line item. example: 2.5 format: double type: number spendCategoryId: description: Spending category of the line item. example: SC00020 type: string unitCost: description: Unit cost dollar amount of the line item. example: 116.78 format: double type: - number - 'null' unitOfMeasure: description: How the quantity is measured for the line item. example: Standard Cost Dollar type: - string - 'null' type: object minItems: 0 type: array provider: description: Internal Service Provider name for the Internal Service Delivery. example: UWMSN DOIT - EBS Integrated Business Systems type: string providerId: description: Internal Service Provider ID for the Internal Service Delivery. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string status: description: Status of the Internal Service Delivery. enum: - Approved - Canceled - Denied - Draft - In Progress example: Approved type: string type: object id: description: The unique identifier for an Internal Service Delivery record. example: ISD-00000014 type: string links: description: Links related to this record. properties: self: example: https://api.wisc.edu/finance/internalServiceDeliveries/ISD-00000014 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - internalServiceDeliveries example: internalServiceDeliveries type: string type: object type: array links: properties: first: description: A link to the first page of results. example: https://api.wisc.edu/finance/internalServiceDeliveries?page[first]=1 type: string last: description: A link to the last page of results. example: https://api.wisc.edu/finance/internalServiceDeliveries?page[last]=99 type: string next: description: A link to the next page of results, if there is one. example: https://api.wisc.edu/finance/internalServiceDeliveries?page[next]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one. example: https://api.wisc.edu/finance/internalServiceDeliveries?page[prev]=1 type: - string - 'null' self: description: The link that generated this response. example: https://api.wisc.edu/finance/internalServiceDeliveries type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of Internal Service Deliveries, pagination, and metadata. '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /internalServiceDeliveries/{id}: get: description: 'Retrieves a single internal service delivery by its ID. For more information, see the [Internal Service Deliveries documentation](https://financeapis.wisc.edu/documentation/endpoints/internal-service-deliveries/) page on our website. ' parameters: - description: An Internal Service Delivery ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for an Internal Service Delivery record. example: ISD-00000014 type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: company: UWMSN lines: - activityId: AC001699 costCenterId: CC002586 expenditureTreatment: ET0105 extendedAmount: 291.95 functionId: FN0701 fundId: FD0001 giftId: GF000007664 grantId: GR000000017 id: ISD-00000014-17 isdId: ISD-00000014 itemDescription: Finance API individual walkthrough and integration building guidance. itemName: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training lineDate: '2023-10-12' lineNumber: 17 memo: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' programId: PG000001298 projectId: PJ000000225 quantity: 2.5 spendCategoryId: SC00020 unitCost: 116.78 unitOfMeasure: Standard Cost Dollar provider: UWMSN DOIT - EBS Integrated Business Systems providerId: UWMSN_DOIT_EBS_Integrated_Business_Solutions status: Approved id: ISD-00000014 links: self: https://api.wisc.edu/finance/internalServiceDeliveries/ISD-00000014 meta: lastModified: 2026-06-15 13:11:13 type: internalServiceDeliveries links: self: https://api.wisc.edu/finance/internalServiceDeliveries/ISD-00000014 schema: oneOf: - properties: data: description: A single Internal Service Delivery record. properties: attributes: properties: company: description: Company of the Internal Service Delivery. example: UWMSN type: string lines: description: The line items that make up this Internal Service Delivery. items: properties: activityId: description: Activity of the line item. example: AC001699 type: - string - 'null' costCenterId: description: Cost center of the line item. example: CC002586 type: - string - 'null' expenditureTreatment: description: Expenditure treatment of the line item. example: ET0105 type: - string - 'null' extendedAmount: description: The extended dollar amount of the line item. example: 291.95 format: double type: number functionId: description: Function of the line item. example: FN0701 type: - string - 'null' fundId: description: Fund of the line item. example: FD0001 type: - string - 'null' giftId: description: Gift of the line item. example: GF000007664 type: - string - 'null' grantId: description: Grant of the line item. example: GR000000017 type: - string - 'null' id: description: The unique identifier for the line item. example: ISD-00000014-17 type: string isdId: description: The Internal Service Delivery this line item belongs to. example: ISD-00000014 type: string itemDescription: description: 'Description of the line item. This field has no length or formatting restrictions. ' example: Finance API individual walkthrough and integration building guidance. type: - string - 'null' itemName: description: Name of the line item. example: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training type: - string - 'null' lineDate: description: Line date of the line item. example: '2023-10-12' format: date type: - string - 'null' lineNumber: description: Line item number within the Internal Service Delivery. example: 17 format: int64 type: integer memo: description: 'Memo on the line item. This field has no length or formatting restrictions. ' example: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' type: - string - 'null' programId: description: Program of the line item. example: PG000001298 type: - string - 'null' projectId: description: Project of the line item. example: PJ000000225 type: - string - 'null' quantity: description: Quantity of the line item. example: 2.5 format: double type: number spendCategoryId: description: Spending category of the line item. example: SC00020 type: string unitCost: description: Unit cost dollar amount of the line item. example: 116.78 format: double type: - number - 'null' unitOfMeasure: description: How the quantity is measured for the line item. example: Standard Cost Dollar type: - string - 'null' type: object minItems: 0 type: array provider: description: Internal Service Provider name for the Internal Service Delivery. example: UWMSN DOIT - EBS Integrated Business Systems type: string providerId: description: Internal Service Provider ID for the Internal Service Delivery. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string status: description: Status of the Internal Service Delivery. enum: - Approved - Canceled - Denied - Draft - In Progress example: Approved type: string type: object id: description: The unique identifier for an Internal Service Delivery record. example: ISD-00000014 type: string links: description: Links related to this record. properties: self: example: https://api.wisc.edu/finance/internalServiceDeliveries/ISD-00000014 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - internalServiceDeliveries example: internalServiceDeliveries type: string type: object links: description: Links related to this record. properties: self: example: https://api.wisc.edu/finance/internalServiceDeliveries/ISD-00000014 type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single Internal Service Delivery record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /internalServiceProviders: get: description: 'Retrieves a paginated listing of all internal service providers. For more information, see the [Internal Service Providers documentation](https://financeapis.wisc.edu/documentation/endpoints/internal-service-providers/) page on our website. ' parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The identifier of the record. in: query name: filter[id] required: false schema: type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[name] schema: type: string - in: query name: filter[description] schema: type: string - in: query name: filter[active] schema: type: boolean - in: query name: filter[company] schema: type: string - in: query name: filter[costCenterId] schema: type: string - in: query name: filter[functionId] schema: type: string - in: query name: filter[fundId] schema: type: string - in: query name: filter[giftId] schema: type: string - in: query name: filter[ispId] schema: type: string - in: query name: filter[programId] schema: type: string - in: query name: filter[projectId] schema: type: string - in: query name: filter[revenueCategoryId] schema: type: string - in: query name: filter[internalCatalogs.id] schema: type: string - in: query name: filter[internalCatalogs.name] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: active: true company: UWMSN costCenterId: CC002586 description: UWMSN DOIT - EBS Integrated Business Systems functionId: FN0701 fundId: FD0001 giftId: GF000007664 internalCatalogs: - id: UWMSN_DOIT_EBS_Integrated_Business_Systems_Catalog name: UWMSN DOIT EBS Integrated Business Systems Catalog ispId: UWMSN_DOIT_EBS_Integrated_Business_Solutions name: UWMSN DOIT - EBS Integrated Business Systems programId: PG000001298 projectId: PJ000000409 revenueCategoryId: RC00011 id: UWMSN_DOIT_EBS_Integrated_Business_Solutions links: self: https://api.wisc.edu/finance/internalServiceProviders/UWMSN_DOIT_EBS_Integrated_Business_Solutions meta: lastModified: 2026-06-15 13:11:13 type: internalServiceProviders links: first: https://api.wisc.edu/finance/internalServiceProviders?page[first]=1 last: https://api.wisc.edu/finance/internalServiceProviders?page[last]=99 next: https://api.wisc.edu/finance/internalServiceProviders?page[next]=2 prev: https://api.wisc.edu/finance/internalServiceProviders?page[prev]=1 self: https://api.wisc.edu/finance/internalServiceProviders meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of internal service providers. items: description: A single internal service provider record. properties: attributes: properties: active: description: Whether the Internal Service Provider is active. example: true type: boolean company: description: Company of the Internal Service Provider. example: UWMSN type: string costCenterId: description: Cost center of the Internal Service Provider. example: CC002586 type: - string - 'null' description: description: Description of the Internal Service Provider. example: UWMSN DOIT - EBS Integrated Business Systems type: string functionId: description: Function of the Internal Service Provider. example: FN0701 type: - string - 'null' fundId: description: Fund of the Internal Service Provider. example: FD0001 type: - string - 'null' giftId: description: Gift of the Internal Service Provider. example: GF000007664 type: - string - 'null' internalCatalogs: description: List of internal catalogs. items: properties: id: description: ID of the internal catalog entry. example: UWMSN_DOIT_EBS_Integrated_Business_Systems_Catalog type: - string - 'null' name: description: Name of the internal catalog entry. example: UWMSN DOIT EBS Integrated Business Systems Catalog type: - string - 'null' type: object minItems: 0 type: array ispId: description: 'An ID of the Internal Service Provider. This is usually the same as the base `id` attribute or similar to it, but is frequently very different. Why there are two IDs is unclear; see the [Internal Service Providers documentation](https://financeapis.wisc.edu/documentation/endpoints/internal-service-providers/) for more information. ' example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: - string - 'null' name: description: Name of the Internal Service Provider. example: UWMSN DOIT - EBS Integrated Business Systems type: string programId: description: Program of the Internal Service Provider. example: PG000001298 type: - string - 'null' projectId: description: Project of the Internal Service Provider. example: PJ000000409 type: - string - 'null' revenueCategoryId: description: Revenue category of the Internal Service Provider. example: RC00011 type: - string - 'null' type: object id: description: The unique identifier for an internal service provider record. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string links: description: Links related to this record properties: self: description: The link to just this record example: https://api.wisc.edu/finance/internalServiceProviders/UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - internalServiceProviders example: internalServiceProviders type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/internalServiceProviders?page[first]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/internalServiceProviders?page[last]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/internalServiceProviders?page[next]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/internalServiceProviders?page[prev]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/internalServiceProviders type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of internal service providers, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /internalServiceProviders/{id}: get: description: 'Retrieves a single internal service provider by its ID. For more information, see the [Internal Service Providers documentation](https://financeapis.wisc.edu/documentation/endpoints/internal-service-providers/) page on our website. ' parameters: - description: An internal service provider ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for an internal service provider record. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: active: true company: UWMSN costCenterId: CC002586 description: UWMSN DOIT - EBS Integrated Business Systems functionId: FN0701 fundId: FD0001 giftId: GF000007664 internalCatalogs: - id: UWMSN_DOIT_EBS_Integrated_Business_Systems_Catalog name: UWMSN DOIT EBS Integrated Business Systems Catalog ispId: UWMSN_DOIT_EBS_Integrated_Business_Solutions name: UWMSN DOIT - EBS Integrated Business Systems programId: PG000001298 projectId: PJ000000409 revenueCategoryId: RC00011 id: UWMSN_DOIT_EBS_Integrated_Business_Solutions links: self: https://api.wisc.edu/finance/internalServiceProviders/UWMSN_DOIT_EBS_Integrated_Business_Solutions meta: lastModified: 2026-06-15 13:11:13 type: internalServiceProviders links: self: https://api.wisc.edu/finance/internalServiceProviders/UWMSN_DOIT_EBS_Integrated_Business_Solutions schema: oneOf: - properties: data: description: A single internal service provider record. properties: attributes: properties: active: description: Whether the Internal Service Provider is active. example: true type: boolean company: description: Company of the Internal Service Provider. example: UWMSN type: string costCenterId: description: Cost center of the Internal Service Provider. example: CC002586 type: - string - 'null' description: description: Description of the Internal Service Provider. example: UWMSN DOIT - EBS Integrated Business Systems type: string functionId: description: Function of the Internal Service Provider. example: FN0701 type: - string - 'null' fundId: description: Fund of the Internal Service Provider. example: FD0001 type: - string - 'null' giftId: description: Gift of the Internal Service Provider. example: GF000007664 type: - string - 'null' internalCatalogs: description: List of internal catalogs. items: properties: id: description: ID of the internal catalog entry. example: UWMSN_DOIT_EBS_Integrated_Business_Systems_Catalog type: - string - 'null' name: description: Name of the internal catalog entry. example: UWMSN DOIT EBS Integrated Business Systems Catalog type: - string - 'null' type: object minItems: 0 type: array ispId: description: 'An ID of the Internal Service Provider. This is usually the same as the base `id` attribute or similar to it, but is frequently very different. Why there are two IDs is unclear; see the [Internal Service Providers documentation](https://financeapis.wisc.edu/documentation/endpoints/internal-service-providers/) for more information. ' example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: - string - 'null' name: description: Name of the Internal Service Provider. example: UWMSN DOIT - EBS Integrated Business Systems type: string programId: description: Program of the Internal Service Provider. example: PG000001298 type: - string - 'null' projectId: description: Project of the Internal Service Provider. example: PJ000000409 type: - string - 'null' revenueCategoryId: description: Revenue category of the Internal Service Provider. example: RC00011 type: - string - 'null' type: object id: description: The unique identifier for an internal service provider record. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string links: description: Links related to this record properties: self: description: The link to just this record example: https://api.wisc.edu/finance/internalServiceProviders/UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - internalServiceProviders example: internalServiceProviders type: string type: object links: description: Links related to this record properties: self: description: The link to just this record example: https://api.wisc.edu/finance/internalServiceProviders/UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single internal service provider record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /isdLines: get: description: 'Retrieves a paginated listing of all ISD Lines. This is not to be confused with the `internalServiceDeliveries` resource, which provides the entire ISD; this endpoints is intended for fetching/querying individual line items. For more information, see the [ISD Lines documentation](https://financeapis.wisc.edu/documentation/endpoints/isd-lines/) page on our website. ' parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The identifier of the record. in: query name: filter[id] required: false schema: type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[activityId] schema: type: string - in: query name: filter[company] schema: type: string - in: query name: filter[costCenterId] schema: type: string - in: query name: filter[expenditureTreatment] schema: type: string - in: query name: filter[extendedAmount] schema: format: double type: number - in: query name: filter[functionId] schema: type: string - in: query name: filter[fundId] schema: type: string - in: query name: filter[giftId] schema: type: string - in: query name: filter[grantId] schema: type: string - in: query name: filter[isdId] schema: type: string - in: query name: filter[itemDescription] schema: type: string - in: query name: filter[itemName] schema: type: string - in: query name: filter[lineDate] schema: format: date type: string - in: query name: filter[lineNumber] schema: format: int64 type: integer - in: query name: filter[memo] schema: type: string - in: query name: filter[programId] schema: type: string - in: query name: filter[projectId] schema: type: string - in: query name: filter[provider] schema: type: string - in: query name: filter[providerId] schema: type: string - in: query name: filter[quantity] schema: format: double type: number - in: query name: filter[spendCategoryId] schema: type: string - in: query name: filter[status] schema: type: string - in: query name: filter[unitCost] schema: format: double type: number - in: query name: filter[unitOfMeasure] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: activityId: AC001699 company: UWMSN costCenterId: CC002586 expenditureTreatment: ET0105 extendedAmount: 291.95 functionId: FN0701 fundId: FD0001 giftId: GF000007664 grantId: GR000000017 isdId: ISD-00000014 itemDescription: Finance API individual walkthrough and integration building guidance. itemName: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training lineDate: '2023-10-12' lineNumber: 17 memo: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' programId: PG000001298 projectId: PJ000000225 provider: UWMSN DOIT - EBS Integrated Business Systems providerId: UWMSN_DOIT_EBS_Integrated_Business_Solutions quantity: 2.5 spendCategoryId: SC00020 status: Approved unitCost: 116.78 unitOfMeasure: Standard Cost Dollar id: ISD-00000014-17 links: self: https://api.wisc.edu/finance/isdLines/ISD-00000014-17 meta: lastModified: 2026-06-15 13:11:13 type: internalServiceDeliveryLines links: first: https://api.wisc.edu/finance/isdLines?page[first]=1 last: https://api.wisc.edu/finance/isdLines?page[last]=99 next: https://api.wisc.edu/finance/isdLines?page[next]=2 prev: https://api.wisc.edu/finance/isdLines?page[prev]=1 self: https://api.wisc.edu/finance/isdLines meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of ISD lines. items: description: A single ISD line record. properties: attributes: properties: activityId: description: Activity of the Internal Service Delivery Line. example: AC001699 type: - string - 'null' company: description: Company of the Internal Service Delivery. example: UWMSN type: string costCenterId: description: Cost center of the Internal Service Delivery Line. example: CC002586 type: - string - 'null' expenditureTreatment: description: Expenditure treatment of the Internal Service Delivery Line. example: ET0105 type: - string - 'null' extendedAmount: description: The extended dollar amount of the Internal Service Delivery Line. example: 291.95 format: double type: number functionId: description: Function of the Internal Service Delivery Line. example: FN0701 type: - string - 'null' fundId: description: Fund the of Internal Service Delivery Line. example: FD0001 type: - string - 'null' giftId: description: Gift of the Internal Service Delivery. example: GF000007664 type: - string - 'null' grantId: description: Grant of Internal Service Delivery. example: GR000000017 type: - string - 'null' isdId: description: 'The ID of the Internal Service Delivery this Line is associated with. ISDs can encompass many Lines; this attribute is the ID of the ISD containing it. ' example: ISD-00000014 type: string itemDescription: description: 'Description of the item of the Internal Service Delivery Line. This field has no length or formatting restrictions. ' example: Finance API individual walkthrough and integration building guidance. type: - string - 'null' itemName: description: Name of the item of the Internal Service Delivery Line. example: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training type: - string - 'null' lineDate: description: Line date of the Internal Service Delivery Line. example: '2023-10-12' format: date type: - string - 'null' lineNumber: description: Line number of the Internal Service Delivery Line. example: 17 format: int64 type: integer memo: description: 'Memo on the Internal Service Delivery Line entry. This field has no length or formatting restrictions. ' example: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' type: - string - 'null' programId: description: Program of the Internal Service Delivery Line. example: PG000001298 type: - string - 'null' projectId: description: Project of the Internal Service Delivery Line. example: PJ000000225 type: - string - 'null' provider: description: Internal Service Provider name for the Internal Service Delivery. example: UWMSN DOIT - EBS Integrated Business Systems type: string providerId: description: Internal Service Provider ID for the Internal Service Delivery. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string quantity: description: Quantity of the Internal Service Delivery Line. example: 2.5 format: double type: number spendCategoryId: description: Spending category of the Internal Service Delivery Line. example: SC00020 type: string status: description: Status of the Internal Service Delivery. enum: - Approved - Canceled - Denied - Draft - In Progress example: Approved type: string unitCost: description: Unit cost dollar amount of the Internal Service Delivery Line. example: 116.78 format: double type: - number - 'null' unitOfMeasure: description: How the quantity is measured for the Internal Service Delivery Line. example: Standard Cost Dollar type: - string - 'null' type: object id: description: The unique identifier for a ISD line record. example: ISD-00000014-17 type: string links: description: Links related to this record. properties: self: example: https://api.wisc.edu/finance/isdLines/ISD-00000014-17 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - internalServiceDeliveryLines example: internalServiceDeliveryLines type: string type: object type: array links: properties: first: description: A link to the first page of results. example: https://api.wisc.edu/finance/isdLines?page[first]=1 type: string last: description: A link to the last page of results. example: https://api.wisc.edu/finance/isdLines?page[last]=99 type: string next: description: A link to the next page of results, if there is one. example: https://api.wisc.edu/finance/isdLines?page[next]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one. example: https://api.wisc.edu/finance/isdLines?page[prev]=1 type: - string - 'null' self: description: The link that generated this response. example: https://api.wisc.edu/finance/isdLines type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of ISD lines, pagination, and metadata. '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /isdLines/{id}: get: description: 'Retrieves a single ISD line by its ID. For more information, see the [ISD Lines documentation](https://financeapis.wisc.edu/documentation/endpoints/isd-lines/) page on our website. ' parameters: - description: A ISD line ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a ISD line record. example: ISD-00000014-17 type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: activityId: AC001699 company: UWMSN costCenterId: CC002586 expenditureTreatment: ET0105 extendedAmount: 291.95 functionId: FN0701 fundId: FD0001 giftId: GF000007664 grantId: GR000000017 isdId: ISD-00000014 itemDescription: Finance API individual walkthrough and integration building guidance. itemName: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training lineDate: '2023-10-12' lineNumber: 17 memo: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' programId: PG000001298 projectId: PJ000000225 provider: UWMSN DOIT - EBS Integrated Business Systems providerId: UWMSN_DOIT_EBS_Integrated_Business_Solutions quantity: 2.5 spendCategoryId: SC00020 status: Approved unitCost: 116.78 unitOfMeasure: Standard Cost Dollar id: ISD-00000014-17 links: self: https://api.wisc.edu/finance/isdLines/ISD-00000014-17 meta: lastModified: 2026-06-15 13:11:13 type: internalServiceDeliveryLines links: self: https://api.wisc.edu/finance/isdLines/ISD-00000014-17 schema: oneOf: - properties: data: description: A single ISD line record. properties: attributes: properties: activityId: description: Activity of the Internal Service Delivery Line. example: AC001699 type: - string - 'null' company: description: Company of the Internal Service Delivery. example: UWMSN type: string costCenterId: description: Cost center of the Internal Service Delivery Line. example: CC002586 type: - string - 'null' expenditureTreatment: description: Expenditure treatment of the Internal Service Delivery Line. example: ET0105 type: - string - 'null' extendedAmount: description: The extended dollar amount of the Internal Service Delivery Line. example: 291.95 format: double type: number functionId: description: Function of the Internal Service Delivery Line. example: FN0701 type: - string - 'null' fundId: description: Fund the of Internal Service Delivery Line. example: FD0001 type: - string - 'null' giftId: description: Gift of the Internal Service Delivery. example: GF000007664 type: - string - 'null' grantId: description: Grant of Internal Service Delivery. example: GR000000017 type: - string - 'null' isdId: description: 'The ID of the Internal Service Delivery this Line is associated with. ISDs can encompass many Lines; this attribute is the ID of the ISD containing it. ' example: ISD-00000014 type: string itemDescription: description: 'Description of the item of the Internal Service Delivery Line. This field has no length or formatting restrictions. ' example: Finance API individual walkthrough and integration building guidance. type: - string - 'null' itemName: description: Name of the item of the Internal Service Delivery Line. example: UWMSN DOIT - EBS Integrated Business Systems - Finance API Training type: - string - 'null' lineDate: description: Line date of the Internal Service Delivery Line. example: '2023-10-12' format: date type: - string - 'null' lineNumber: description: Line number of the Internal Service Delivery Line. example: 17 format: int64 type: integer memo: description: 'Memo on the Internal Service Delivery Line entry. This field has no length or formatting restrictions. ' example: 'One-on-one session for: - Walking through the Finance API, - Reviewing customer integration, and - Providing guidance on best practices and how to better utilize API data.' type: - string - 'null' programId: description: Program of the Internal Service Delivery Line. example: PG000001298 type: - string - 'null' projectId: description: Project of the Internal Service Delivery Line. example: PJ000000225 type: - string - 'null' provider: description: Internal Service Provider name for the Internal Service Delivery. example: UWMSN DOIT - EBS Integrated Business Systems type: string providerId: description: Internal Service Provider ID for the Internal Service Delivery. example: UWMSN_DOIT_EBS_Integrated_Business_Solutions type: string quantity: description: Quantity of the Internal Service Delivery Line. example: 2.5 format: double type: number spendCategoryId: description: Spending category of the Internal Service Delivery Line. example: SC00020 type: string status: description: Status of the Internal Service Delivery. enum: - Approved - Canceled - Denied - Draft - In Progress example: Approved type: string unitCost: description: Unit cost dollar amount of the Internal Service Delivery Line. example: 116.78 format: double type: - number - 'null' unitOfMeasure: description: How the quantity is measured for the Internal Service Delivery Line. example: Standard Cost Dollar type: - string - 'null' type: object id: description: The unique identifier for a ISD line record. example: ISD-00000014-17 type: string links: description: Links related to this record. properties: self: example: https://api.wisc.edu/finance/isdLines/ISD-00000014-17 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - internalServiceDeliveryLines example: internalServiceDeliveryLines type: string type: object links: description: Links related to this record. properties: self: example: https://api.wisc.edu/finance/isdLines/ISD-00000014-17 type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single ISD line record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /purchaseOrders: get: description: Retrieves a paginated listing of all purchase orders. parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The identifier of the record. in: query name: filter[id] required: false schema: type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[accountingDate] schema: format: date type: string - in: query name: filter[company] schema: type: string - in: query name: filter[costCenterId] schema: type: string - in: query name: filter[description] schema: type: string - in: query name: filter[extendedAmount] schema: format: double type: number - in: query name: filter[fiscalYear] schema: format: int64 type: integer - in: query name: filter[fiscalYearNumber] schema: format: int64 type: integer - in: query name: filter[functionId] schema: type: string - in: query name: filter[fundId] schema: type: string - in: query name: filter[giftId] schema: type: string - in: query name: filter[goodsDocumentDate] schema: format: date type: string - in: query name: filter[goodsLocationName] schema: type: string - in: query name: filter[grantId] schema: type: string - in: query name: filter[issuedDate] schema: format: date type: string - in: query name: filter[journalSource] schema: type: string - in: query name: filter[ledger] schema: type: string - in: query name: filter[ledgerPeriod] schema: type: string - in: query name: filter[lineType] schema: type: string - in: query name: filter[locationId] schema: type: string - in: query name: filter[paymentTerms] schema: type: string - in: query name: filter[period] schema: type: string - in: query name: filter[poLineId] schema: type: string - in: query name: filter[programId] schema: type: string - in: query name: filter[projectId] schema: type: string - in: query name: filter[requestorName] schema: type: string - in: query name: filter[requestorRefId] schema: type: string - in: query name: filter[requisitionLineId] schema: type: string - in: query name: filter[shipToAddress] schema: type: string - in: query name: filter[shipToContactName] schema: type: string - in: query name: filter[spendCategoryId] schema: type: string - in: query name: filter[status] schema: type: string - in: query name: filter[supplierName] schema: type: string - in: query name: filter[transactionDate] schema: format: date type: string - in: query name: filter[type] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: accountingDate: '2024-06-17' company: Company XYZ costCenterId: CC005938 description: Office supplies purchase extendedAmount: 1500.0 fiscalYear: 2024 fiscalYearNumber: 2024 functionId: FN0700 fundId: FD0128 giftId: GF000007664 goodsDocumentDate: '2024-06-18' goodsLocationName: Warehouse 1 grantId: GR000018391 issuedDate: '2024-06-17' journalSource: Purchase Order ledger: 'UWMSN University of Wisconsin Madison : Obligations' ledgerPeriod: Jun-2024 Obligations (UWMSN University of Wisconsin Madison) lineType: Goods locationId: LCMSN_0001 paymentTerms: 2/60 Net 60 period: Jun poLineId: 25b90ccc3a35902af0f7f1385f8a0000 programId: PG000019020 projectId: PJ000000409 requestorName: Jane Smith requestorRefId: 123456 requisitionLineId: RL001 shipToAddress: 700 Regent St 700 Regent St STE 303, Madison, WI 53715-2634 United States of America shipToContactName: John Doe spendCategoryId: SC00115 status: Approved supplierName: APPLE COMPUTER INC transactionDate: '2024-06-17' type: Inventory Replenishment id: PO-00062561 links: self: https://api.wisc.edu/finance/purchaseOrders/PO-00062561 meta: lastModified: 2026-06-15 13:11:13 type: purchaseOrders links: first: https://api.wisc.edu/finance/purchaseOrders?page[first]=1 last: https://api.wisc.edu/finance/purchaseOrders?page[last]=99 next: https://api.wisc.edu/finance/purchaseOrders/page[next]=2 prev: https://api.wisc.edu/finance/purchaseOrders?page[prev]=1 self: https://api.wisc.edu/finance/purchaseOrders meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of purchase orders. items: description: A single purchase order record. properties: attributes: properties: accountingDate: description: 'The date from the posted journal for the transaction associated with this Purchase Order. This is usually the same as `transactionDate`, but can differ if the transaction and its posting span fiscal periods. ' example: '2024-06-17' format: date type: - string - 'null' company: description: 'The company of the Purchase Order entered on accounting journal lines. For non-intercompany accounting journals or operational journals, Workday uses the same company as the journal entry. ' example: Company XYZ type: string costCenterId: description: The cost center associated with the Purchase Order. example: CC005938 type: - string - 'null' description: description: 'Line item description of the Purchase Order. This field has no length or formatting restrictions. ' example: Office supplies purchase type: string extendedAmount: description: 'The extended amount associated with the Purchase Order''s business document line distribution instance. Excludes extended amounts on tax-only invoices. ' example: 1500.0 format: double type: number fiscalYear: description: The fiscal year in which the Purchase Order was issued. example: 2024 type: - integer - 'null' fiscalYearNumber: description: The numeric representation of the fiscal year in which the Purchase Order was issued. example: 2024 type: - integer - 'null' functionId: description: The function associated with the Purchase Order. example: FN0700 type: - string - 'null' fundId: description: The fund associated with the Purchase Order. example: FD0128 type: - string - 'null' giftId: description: The gift associated with the Purchase Order. example: GF000007664 type: - string - 'null' goodsDocumentDate: description: The date on the goods business document line associated with the Purchase Order. example: '2024-06-18' format: date type: - string - 'null' goodsLocationName: description: The location where the goods are stored or delivered. example: Warehouse 1 type: - string - 'null' grantId: description: The grant associated with the Purchase Order. example: GR000018391 type: - string - 'null' issuedDate: description: The date the Purchase Order was issued to the supplier. example: '2024-06-17' format: date type: - string - 'null' journalSource: description: 'The source from which the Purchase Order journal originates, including business objects like supplier invoices, accounting adjustments, and manually-created journals. When present, it should always be "Purchase Order". ' enum: - Purchase Order - '' example: Purchase Order type: - string - 'null' ledger: description: The ledger on which the Purchase Order journal entry is booked. example: 'UWMSN University of Wisconsin Madison : Obligations' type: - string - 'null' ledgerPeriod: description: The ledger period of the Purchase Order posted journal. example: Jun-2024 Obligations (UWMSN University of Wisconsin Madison) type: - string - 'null' lineType: description: Tye type of the Purchase Order line item. enum: - Goods - Service example: Goods type: string locationId: description: The location associated with the Purchase Order. example: LCMSN_0001 type: - string - 'null' paymentTerms: description: The payment terms associated with the Purchase Order as dictated by the supplier invoice. example: 2/60 Net 60 type: string period: description: 'The ledger period of the posted Purchase Order journal. Usually a month abbreviation. ' example: Jun type: - string - 'null' poLineId: description: The unique line identifier within the Purchase Order. example: 25b90ccc3a35902af0f7f1385f8a0000 type: string programId: description: The program associated with the Purchase Order. example: PG000019020 type: - string - 'null' projectId: description: The project associated with the Purchase Order. example: PJ000000409 type: - string - 'null' requestorName: description: 'The name of the requestor associated with the Purchase Order. When a Purchase Order is sourced from a requisition, this will be the requisition requestor. When not sourced from a requisition, this will be the worker specified on the Purchase Order. If no worker is specified on a non-requisition Purchase Order, no name is provided. ' example: Jane Smith type: - string - 'null' requestorRefId: description: 'The Purchase Order''s requestor''s Employee ID (see `requestorName` for more info). Note that, since this value is provided to us as an integer, any zero-padding will have been lost. ' example: 123456 format: int64 type: - integer - 'null' requisitionLineId: description: The requisition line associated with the Purchase Order line. example: RL001 type: - string - 'null' shipToAddress: description: The shipping address of the Purchase Order line. example: 700 Regent St 700 Regent St STE 303, Madison, WI 53715-2634 United States of America type: - string - 'null' shipToContactName: description: The shipping contact of the Purchase Order line. example: John Doe type: - string - 'null' spendCategoryId: description: The spend category associated with the Purchase Order. example: SC00115 type: string status: description: The current status of the Purchase Order. enum: - Approved - Canceled - Change Order In Progress - Closed - Draft - In Progress - Issued example: Approved type: string supplierName: description: The name of the supplier for the Purchase Order. example: APPLE COMPUTER INC type: string transactionDate: description: The date of the original operation transaction associated with the Purchase Order. example: '2024-06-17' format: date type: string type: description: The type or category of the Purchase Order. example: Inventory Replenishment type: string type: object id: description: The unique identifier for a purchase order record. example: PO-00062561 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/purchaseOrders/PO-00062561 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - purchaseOrders example: purchaseOrders type: string type: object type: array links: properties: first: description: A link to the first page of results. example: https://api.wisc.edu/finance/purchaseOrders?page[first]=1 type: string last: description: A link to the last page of results. example: https://api.wisc.edu/finance/purchaseOrders?page[last]=99 type: string next: description: A link to the next page of results, if there is one. example: https://api.wisc.edu/finance/purchaseOrders/page[next]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one. example: https://api.wisc.edu/finance/purchaseOrders?page[prev]=1 type: - string - 'null' self: description: The link that generated this response. example: https://api.wisc.edu/finance/purchaseOrders type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of purchase orders, pagination, and metadata. '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /purchaseOrders/{id}: get: description: Retrieves a single purchase order by its ID. parameters: - description: A purchase order ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a purchase order record. example: PO-00062561 type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: accountingDate: '2024-06-17' company: Company XYZ costCenterId: CC005938 description: Office supplies purchase extendedAmount: 1500.0 fiscalYear: 2024 fiscalYearNumber: 2024 functionId: FN0700 fundId: FD0128 giftId: GF000007664 goodsDocumentDate: '2024-06-18' goodsLocationName: Warehouse 1 grantId: GR000018391 issuedDate: '2024-06-17' journalSource: Purchase Order ledger: 'UWMSN University of Wisconsin Madison : Obligations' ledgerPeriod: Jun-2024 Obligations (UWMSN University of Wisconsin Madison) lineType: Goods locationId: LCMSN_0001 paymentTerms: 2/60 Net 60 period: Jun poLineId: 25b90ccc3a35902af0f7f1385f8a0000 programId: PG000019020 projectId: PJ000000409 requestorName: Jane Smith requestorRefId: 123456 requisitionLineId: RL001 shipToAddress: 700 Regent St 700 Regent St STE 303, Madison, WI 53715-2634 United States of America shipToContactName: John Doe spendCategoryId: SC00115 status: Approved supplierName: APPLE COMPUTER INC transactionDate: '2024-06-17' type: Inventory Replenishment id: PO-00062561 links: self: https://api.wisc.edu/finance/purchaseOrders/PO-00062561 meta: lastModified: 2026-06-15 13:11:13 type: purchaseOrders links: self: https://api.wisc.edu/finance/purchaseOrders/PO-00062561 schema: oneOf: - properties: data: description: A single purchase order record. properties: attributes: properties: accountingDate: description: 'The date from the posted journal for the transaction associated with this Purchase Order. This is usually the same as `transactionDate`, but can differ if the transaction and its posting span fiscal periods. ' example: '2024-06-17' format: date type: - string - 'null' company: description: 'The company of the Purchase Order entered on accounting journal lines. For non-intercompany accounting journals or operational journals, Workday uses the same company as the journal entry. ' example: Company XYZ type: string costCenterId: description: The cost center associated with the Purchase Order. example: CC005938 type: - string - 'null' description: description: 'Line item description of the Purchase Order. This field has no length or formatting restrictions. ' example: Office supplies purchase type: string extendedAmount: description: 'The extended amount associated with the Purchase Order''s business document line distribution instance. Excludes extended amounts on tax-only invoices. ' example: 1500.0 format: double type: number fiscalYear: description: The fiscal year in which the Purchase Order was issued. example: 2024 type: - integer - 'null' fiscalYearNumber: description: The numeric representation of the fiscal year in which the Purchase Order was issued. example: 2024 type: - integer - 'null' functionId: description: The function associated with the Purchase Order. example: FN0700 type: - string - 'null' fundId: description: The fund associated with the Purchase Order. example: FD0128 type: - string - 'null' giftId: description: The gift associated with the Purchase Order. example: GF000007664 type: - string - 'null' goodsDocumentDate: description: The date on the goods business document line associated with the Purchase Order. example: '2024-06-18' format: date type: - string - 'null' goodsLocationName: description: The location where the goods are stored or delivered. example: Warehouse 1 type: - string - 'null' grantId: description: The grant associated with the Purchase Order. example: GR000018391 type: - string - 'null' issuedDate: description: The date the Purchase Order was issued to the supplier. example: '2024-06-17' format: date type: - string - 'null' journalSource: description: 'The source from which the Purchase Order journal originates, including business objects like supplier invoices, accounting adjustments, and manually-created journals. When present, it should always be "Purchase Order". ' enum: - Purchase Order - '' example: Purchase Order type: - string - 'null' ledger: description: The ledger on which the Purchase Order journal entry is booked. example: 'UWMSN University of Wisconsin Madison : Obligations' type: - string - 'null' ledgerPeriod: description: The ledger period of the Purchase Order posted journal. example: Jun-2024 Obligations (UWMSN University of Wisconsin Madison) type: - string - 'null' lineType: description: Tye type of the Purchase Order line item. enum: - Goods - Service example: Goods type: string locationId: description: The location associated with the Purchase Order. example: LCMSN_0001 type: - string - 'null' paymentTerms: description: The payment terms associated with the Purchase Order as dictated by the supplier invoice. example: 2/60 Net 60 type: string period: description: 'The ledger period of the posted Purchase Order journal. Usually a month abbreviation. ' example: Jun type: - string - 'null' poLineId: description: The unique line identifier within the Purchase Order. example: 25b90ccc3a35902af0f7f1385f8a0000 type: string programId: description: The program associated with the Purchase Order. example: PG000019020 type: - string - 'null' projectId: description: The project associated with the Purchase Order. example: PJ000000409 type: - string - 'null' requestorName: description: 'The name of the requestor associated with the Purchase Order. When a Purchase Order is sourced from a requisition, this will be the requisition requestor. When not sourced from a requisition, this will be the worker specified on the Purchase Order. If no worker is specified on a non-requisition Purchase Order, no name is provided. ' example: Jane Smith type: - string - 'null' requestorRefId: description: 'The Purchase Order''s requestor''s Employee ID (see `requestorName` for more info). Note that, since this value is provided to us as an integer, any zero-padding will have been lost. ' example: 123456 format: int64 type: - integer - 'null' requisitionLineId: description: The requisition line associated with the Purchase Order line. example: RL001 type: - string - 'null' shipToAddress: description: The shipping address of the Purchase Order line. example: 700 Regent St 700 Regent St STE 303, Madison, WI 53715-2634 United States of America type: - string - 'null' shipToContactName: description: The shipping contact of the Purchase Order line. example: John Doe type: - string - 'null' spendCategoryId: description: The spend category associated with the Purchase Order. example: SC00115 type: string status: description: The current status of the Purchase Order. enum: - Approved - Canceled - Change Order In Progress - Closed - Draft - In Progress - Issued example: Approved type: string supplierName: description: The name of the supplier for the Purchase Order. example: APPLE COMPUTER INC type: string transactionDate: description: The date of the original operation transaction associated with the Purchase Order. example: '2024-06-17' format: date type: string type: description: The type or category of the Purchase Order. example: Inventory Replenishment type: string type: object id: description: The unique identifier for a purchase order record. example: PO-00062561 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/purchaseOrders/PO-00062561 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - purchaseOrders example: purchaseOrders type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/purchaseOrders/PO-00062561 type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single purchase order record. '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /salesItems: get: description: Retrieves a paginated listing of all sales items. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[groupItem] schema: type: string - in: query name: filter[description] schema: type: string - in: query name: filter[groupReferenceId] schema: type: string - in: query name: filter[programId] schema: type: string - in: query name: filter[costCenterId] schema: type: string - in: query name: filter[fundId] schema: type: string - in: query name: filter[functionId] schema: type: string - in: query name: filter[active] schema: type: boolean - in: query name: filter[itemIdentifier] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: active: true costCenterId: CC004027 description: '#43852 1 - 0143 Shipping' functionId: FN0400 fundId: FD0136 groupItem: E2E1 sales item Group UWSUP groupReferenceId: SALES_ITEM_GROUP-6-11 itemIdentifier: Conversion_Sales_Item_00382 name: '#43852 1 - 0143 Shipping' programId: PG000011255 revenueCategoryId: RC00053 revenueCategoryName: General Services taxStatus: Non-Taxable unitOfMeasure: Hour unitPrice: 0 uomEdiCodeId: JOB id: 00000001R links: self: https://api.wisc.edu/finance/salesItems/00000001R meta: lastModified: 2026-06-15 13:11:13 type: salesItems links: first: https://api.wisc.edu/finance/salesItems?page[number]=1 last: https://api.wisc.edu/finance/salesItems?page[number]=99 next: https://api.wisc.edu/finance/salesItems/page[number]=2 prev: https://api.wisc.edu/finance/salesItems?page[number]=1 self: https://api.wisc.edu/finance/salesItems meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of sales items. items: description: A single sales item record. properties: attributes: properties: active: description: Active flag. example: true type: boolean costCenterId: description: Cost Center Id of sales items example: CC004027 type: - string - 'null' description: description: Description of the sales item. example: '#43852 1 - 0143 Shipping' type: string functionId: description: Function Id of sales items example: FN0400 type: - string - 'null' fundId: description: Fund Id of sales items example: FD0136 type: - string - 'null' groupItem: description: Name of a group of sales items that this item belongs to. example: E2E1 sales item Group UWSUP type: - string - 'null' groupReferenceId: description: Group reference id of the sales item. example: SALES_ITEM_GROUP-6-11 type: - string - 'null' itemIdentifier: description: item identifier details for sales items example: Conversion_Sales_Item_00382 type: string name: description: Object example: '#43852 1 - 0143 Shipping' type: string programId: description: Program Id of sales items example: PG000011255 type: - string - 'null' revenueCategoryId: description: Revenue Category ID example: RC00053 type: - string - 'null' revenueCategoryName: description: Revenue Category Name example: General Services type: - string - 'null' taxStatus: description: 'Tax status of sales items Taxable ' example: Non-Taxable type: string unitOfMeasure: description: Unit of measure of sales items example: Hour type: - string - 'null' unitPrice: description: Unit price in dollars of sales item. example: 0 format: currency type: - number - 'null' uomEdiCodeId: description: Unit of measure EDI Code ID example: JOB type: - string - 'null' type: object id: description: The unique identifier for a sales item record. example: 00000001R type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/salesItems/00000001R type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: salesItems type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/salesItems?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/salesItems?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/salesItems/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/salesItems?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/salesItems type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of sales items, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /salesItems/{id}: get: description: Retrieves a single sales item by its ID. parameters: - description: A sales item ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a sales item record. example: 00000001R type: string responses: '200': content: application/vnd.api+json: example: data: attributes: active: true costCenterId: CC004027 description: '#43852 1 - 0143 Shipping' functionId: FN0400 fundId: FD0136 groupItem: E2E1 sales item Group UWSUP groupReferenceId: SALES_ITEM_GROUP-6-11 itemIdentifier: Conversion_Sales_Item_00382 name: '#43852 1 - 0143 Shipping' programId: PG000011255 revenueCategoryId: RC00053 revenueCategoryName: General Services taxStatus: Non-Taxable unitOfMeasure: Hour unitPrice: 0 uomEdiCodeId: JOB id: 00000001R links: self: https://api.wisc.edu/finance/salesItems/00000001R meta: lastModified: 2026-06-15 13:11:13 type: salesItems links: self: https://api.wisc.edu/finance/salesItems/00000001R schema: properties: data: description: A single sales item record. properties: attributes: properties: active: description: Active flag. example: true type: boolean costCenterId: description: Cost Center Id of sales items example: CC004027 type: - string - 'null' description: description: Description of the sales item. example: '#43852 1 - 0143 Shipping' type: string functionId: description: Function Id of sales items example: FN0400 type: - string - 'null' fundId: description: Fund Id of sales items example: FD0136 type: - string - 'null' groupItem: description: Name of a group of sales items that this item belongs to. example: E2E1 sales item Group UWSUP type: - string - 'null' groupReferenceId: description: Group reference id of the sales item. example: SALES_ITEM_GROUP-6-11 type: - string - 'null' itemIdentifier: description: item identifier details for sales items example: Conversion_Sales_Item_00382 type: string name: description: Object example: '#43852 1 - 0143 Shipping' type: string programId: description: Program Id of sales items example: PG000011255 type: - string - 'null' revenueCategoryId: description: Revenue Category ID example: RC00053 type: - string - 'null' revenueCategoryName: description: Revenue Category Name example: General Services type: - string - 'null' taxStatus: description: 'Tax status of sales items Taxable ' example: Non-Taxable type: string unitOfMeasure: description: Unit of measure of sales items example: Hour type: - string - 'null' unitPrice: description: Unit price in dollars of sales item. example: 0 format: currency type: - number - 'null' uomEdiCodeId: description: Unit of measure EDI Code ID example: JOB type: - string - 'null' type: object id: description: The unique identifier for a sales item record. example: 00000001R type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/salesItems/00000001R type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: salesItems type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/salesItems/00000001R type: string type: object type: object description: An API response with a single sales item record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /sponsorInvoices: get: description: Retrieves a paginated listing of all sponsor invoices. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[sponsorId] schema: type: string - in: query name: filter[company] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: adjustmentReason: '' amountDue: 0 billToSponsorName: HATCH ACT FORMULA FUND collectionCode: '' company: UWMSN University of Wisconsin Madison disputeReason: '' dueDate: '2024-07-30' fromDate: null invoiceAmount: -260 invoiceDate: '2024-06-30' invoiceType: No Print isOnHold: false memo: '' paymentStatus: Paid paymentTerms: Net 30 sponsorId: SPN000661 sponsorInvoiceId: CIA-00000011 status: Approved toDate: '2024-06-30' id: CIA-00000011 links: self: https://api.wisc.edu/finance/sponsorInvoices/CIA-00000011 meta: lastModified: 2026-06-15 13:11:13 type: sponsorInvoices links: first: https://api.wisc.edu/finance/sponsorInvoices?page[number]=1 last: https://api.wisc.edu/finance/sponsorInvoices?page[number]=99 next: https://api.wisc.edu/finance/sponsorInvoices/page[number]=2 prev: https://api.wisc.edu/finance/sponsorInvoices?page[number]=1 self: https://api.wisc.edu/finance/sponsorInvoices meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of sponsor invoices. items: description: A single sponsor invoice record. properties: attributes: properties: adjustmentReason: description: Reason for any adjustment on the sponsor invoice. example: '' type: - string - 'null' amountDue: description: The dollar amount due for the sponsor invoice. example: 0 format: currency type: number billToSponsorName: description: The name of the sponsor billed. example: HATCH ACT FORMULA FUND type: - string - 'null' collectionCode: description: The collection code associated with the sponsor invoice. example: '' type: - string - 'null' company: description: The company associated with the sponsor invoice. example: UWMSN University of Wisconsin Madison type: string disputeReason: description: Reason for any dispute on the sponsor invoice. example: '' type: - string - 'null' dueDate: description: The due date for the sponsor invoice. example: '2024-07-30' format: date type: string fromDate: description: The start date for the sponsor invoice period, if applicable. example: null format: date type: - string - 'null' invoiceAmount: description: The total dollar amount of the invoice. example: -260 type: - number - 'null' invoiceDate: description: The date when the invoice was created. example: '2024-06-30' format: date type: string invoiceType: description: The type of the invoice. example: No Print type: - string - 'null' isOnHold: description: Indicates if the invoice is on hold. example: false type: boolean memo: description: Additional notes or memo associated with the invoice. example: '' type: - string - 'null' paymentStatus: description: The payment status of the invoice. example: Paid type: - string - 'null' paymentTerms: description: The payment terms for the invoice. example: Net 30 type: string sponsorId: description: The ID of the sponsor. example: SPN000661 type: string sponsorInvoiceId: description: The ID of the customer invoice. example: CIA-00000011 type: string status: description: The approval status of the invoice. example: Approved type: string toDate: description: The end date for the sponsor invoice period, if applicable. example: '2024-06-30' format: date type: - string - 'null' type: object id: description: The unique identifier for a sponsor invoice record. example: CIA-00000011 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/sponsorInvoices/CIA-00000011 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: sponsorInvoices type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/sponsorInvoices?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/sponsorInvoices?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/sponsorInvoices/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/sponsorInvoices?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/sponsorInvoices type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of sponsor invoices, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /sponsorInvoices/{id}: get: description: Retrieves a single sponsor invoice by its ID. parameters: - description: A sponsor invoice ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a sponsor invoice record. example: CIA-00000011 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: adjustmentReason: '' amountDue: 0 billToSponsorName: HATCH ACT FORMULA FUND collectionCode: '' company: UWMSN University of Wisconsin Madison disputeReason: '' dueDate: '2024-07-30' fromDate: null invoiceAmount: -260 invoiceDate: '2024-06-30' invoiceType: No Print isOnHold: false memo: '' paymentStatus: Paid paymentTerms: Net 30 sponsorId: SPN000661 sponsorInvoiceId: CIA-00000011 status: Approved toDate: '2024-06-30' id: CIA-00000011 links: self: https://api.wisc.edu/finance/sponsorInvoices/CIA-00000011 meta: lastModified: 2026-06-15 13:11:13 type: sponsorInvoices links: self: https://api.wisc.edu/finance/sponsorInvoices/CIA-00000011 schema: properties: data: description: A single sponsor invoice record. properties: attributes: properties: adjustmentReason: description: Reason for any adjustment on the sponsor invoice. example: '' type: - string - 'null' amountDue: description: The dollar amount due for the sponsor invoice. example: 0 format: currency type: number billToSponsorName: description: The name of the sponsor billed. example: HATCH ACT FORMULA FUND type: - string - 'null' collectionCode: description: The collection code associated with the sponsor invoice. example: '' type: - string - 'null' company: description: The company associated with the sponsor invoice. example: UWMSN University of Wisconsin Madison type: string disputeReason: description: Reason for any dispute on the sponsor invoice. example: '' type: - string - 'null' dueDate: description: The due date for the sponsor invoice. example: '2024-07-30' format: date type: string fromDate: description: The start date for the sponsor invoice period, if applicable. example: null format: date type: - string - 'null' invoiceAmount: description: The total dollar amount of the invoice. example: -260 type: - number - 'null' invoiceDate: description: The date when the invoice was created. example: '2024-06-30' format: date type: string invoiceType: description: The type of the invoice. example: No Print type: - string - 'null' isOnHold: description: Indicates if the invoice is on hold. example: false type: boolean memo: description: Additional notes or memo associated with the invoice. example: '' type: - string - 'null' paymentStatus: description: The payment status of the invoice. example: Paid type: - string - 'null' paymentTerms: description: The payment terms for the invoice. example: Net 30 type: string sponsorId: description: The ID of the sponsor. example: SPN000661 type: string sponsorInvoiceId: description: The ID of the customer invoice. example: CIA-00000011 type: string status: description: The approval status of the invoice. example: Approved type: string toDate: description: The end date for the sponsor invoice period, if applicable. example: '2024-06-30' format: date type: - string - 'null' type: object id: description: The unique identifier for a sponsor invoice record. example: CIA-00000011 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/sponsorInvoices/CIA-00000011 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: sponsorInvoices type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/sponsorInvoices/CIA-00000011 type: string type: object type: object description: An API response with a single sponsor invoice record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /sponsors: get: description: Retrieves a paginated listing of all sponsors. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[type] schema: type: string - in: query name: filter[dateAdded] schema: type: string - in: query name: filter[name] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: active: true address1: 700 Regent St. address2: '' city: Madison country: United States of America dateAdded: 2024-03-28-07:00 frnFlag: false name: ENVIRONMENTAL PROTECTION AGENCY nameUpper: ENVIRONMENTAL PROTECTION AGENCY referenceId: '1234' state: North Carolina stateCode: NC type: US Federal Government typeCode: US_Federal_Government wiscFlag: true zipCode: '27711' id: SPN000004 links: self: https://api.wisc.edu/finance/sponsors/SPN000004 meta: lastModified: 2026-06-15 13:11:13 type: sponsors links: first: https://api.wisc.edu/finance/sponsors?page[number]=1 last: https://api.wisc.edu/finance/sponsors?page[number]=99 next: https://api.wisc.edu/finance/sponsors/page[number]=2 prev: https://api.wisc.edu/finance/sponsors?page[number]=1 self: https://api.wisc.edu/finance/sponsors meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of sponsors. items: description: A single sponsor record. properties: attributes: properties: active: description: Whether the sponsor is currently active. example: true type: boolean address1: description: The first line of the sponsor's address example: 700 Regent St. type: - string - 'null' address2: description: The second line of the sponsor's address, if any example: '' type: - string - 'null' city: description: City of sponsor. example: Madison type: - string - 'null' country: description: Country of sponsor. example: United States of America type: - string - 'null' dateAdded: description: Group Reference id of the sponsor. example: 2024-03-28-07:00 format: datetime type: - string - 'null' frnFlag: description: Whether or not the sponsor is in a foreign country. example: false type: boolean name: description: Description of the sponsor. example: ENVIRONMENTAL PROTECTION AGENCY type: string nameUpper: description: Group item of sponsor. example: ENVIRONMENTAL PROTECTION AGENCY type: string referenceId: description: An external reference ID related to this sponsor example: '1234' type: - string - 'null' state: description: State of sponsor. example: North Carolina type: - string - 'null' stateCode: description: State Code sponsor. example: NC type: - string - 'null' type: description: Type of sponsor. example: US Federal Government type: string typeCode: description: Code for the type of sponsor example: US_Federal_Government type: - string - 'null' wiscFlag: description: Whether or not the sponsor is in Wisconsin. example: true type: boolean zipCode: description: Zip Code of sponsor. example: '27711' type: - string - 'null' type: object id: description: The unique identifier for a sponsor record. example: SPN000004 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/sponsors/SPN000004 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: sponsors type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/sponsors?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/sponsors?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/sponsors/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/sponsors?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/sponsors type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of sponsors, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /sponsors/{id}: get: description: Retrieves a single sponsor by its ID. parameters: - description: A sponsor ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a sponsor record. example: SPN000004 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: active: true address1: 700 Regent St. address2: '' city: Madison country: United States of America dateAdded: 2024-03-28-07:00 frnFlag: false name: ENVIRONMENTAL PROTECTION AGENCY nameUpper: ENVIRONMENTAL PROTECTION AGENCY referenceId: '1234' state: North Carolina stateCode: NC type: US Federal Government typeCode: US_Federal_Government wiscFlag: true zipCode: '27711' id: SPN000004 links: self: https://api.wisc.edu/finance/sponsors/SPN000004 meta: lastModified: 2026-06-15 13:11:13 type: sponsors links: self: https://api.wisc.edu/finance/sponsors/SPN000004 schema: properties: data: description: A single sponsor record. properties: attributes: properties: active: description: Whether the sponsor is currently active. example: true type: boolean address1: description: The first line of the sponsor's address example: 700 Regent St. type: - string - 'null' address2: description: The second line of the sponsor's address, if any example: '' type: - string - 'null' city: description: City of sponsor. example: Madison type: - string - 'null' country: description: Country of sponsor. example: United States of America type: - string - 'null' dateAdded: description: Group Reference id of the sponsor. example: 2024-03-28-07:00 format: datetime type: - string - 'null' frnFlag: description: Whether or not the sponsor is in a foreign country. example: false type: boolean name: description: Description of the sponsor. example: ENVIRONMENTAL PROTECTION AGENCY type: string nameUpper: description: Group item of sponsor. example: ENVIRONMENTAL PROTECTION AGENCY type: string referenceId: description: An external reference ID related to this sponsor example: '1234' type: - string - 'null' state: description: State of sponsor. example: North Carolina type: - string - 'null' stateCode: description: State Code sponsor. example: NC type: - string - 'null' type: description: Type of sponsor. example: US Federal Government type: string typeCode: description: Code for the type of sponsor example: US_Federal_Government type: - string - 'null' wiscFlag: description: Whether or not the sponsor is in Wisconsin. example: true type: boolean zipCode: description: Zip Code of sponsor. example: '27711' type: - string - 'null' type: object id: description: The unique identifier for a sponsor record. example: SPN000004 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/sponsors/SPN000004 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: sponsors type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/sponsors/SPN000004 type: string type: object type: object description: An API response with a single sponsor record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /subrecipients: get: description: Retrieves a paginated listing of all subrecipients. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[referenceId] schema: type: string - in: query name: filter[uniqueEntityId] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: address: DEPT OF HOUSING OFC CONF SVCS CAMPUS BOX 454 BOULDER, CO 80309-0001 United States of America dunsNumber: '' isSamRegistered: true referenceId: b323c596667a1001cef98c5c157f0000 subrecipientReferenceId: '1071847' supplierCategory: Other supplierName: REGENTS OF THE UNIVERSITY OF COLORADO supplierStatus: Active taxId: '' uniqueEntityId: '' id: '1071847' links: self: https://api.wisc.edu/finance/subrecipients/1071847 meta: lastModified: 2026-06-15 13:11:13 type: subrecipients links: first: https://api.wisc.edu/finance/subrecipients?page[number]=1 last: https://api.wisc.edu/finance/subrecipients?page[number]=99 next: https://api.wisc.edu/finance/subrecipients?page[number]=2 prev: https://api.wisc.edu/finance/subrecipients?page[number]=1 self: https://api.wisc.edu/finance/subrecipients meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of subrecipients. items: description: A single subrecipient record. properties: attributes: properties: address: description: The primary address of the subrecipient. example: DEPT OF HOUSING OFC CONF SVCS CAMPUS BOX 454 BOULDER, CO 80309-0001 United States of America type: string dunsNumber: description: The DUNS number of the subrecipient. example: '' type: - string - 'null' isSamRegistered: description: Indicates if the subrecipient is registered in SAM. example: true type: - boolean - 'null' referenceId: description: An internal reference ID for the subrecipient. example: b323c596667a1001cef98c5c157f0000 type: string subrecipientReferenceId: description: A reference ID for the subrecipient. example: '1071847' type: string supplierCategory: description: The category of the supplier. example: Other type: string supplierName: description: The name of the subrecipient. example: REGENTS OF THE UNIVERSITY OF COLORADO type: string supplierStatus: description: The status of the supplier. example: Active type: string taxId: description: The tax ID of the subrecipient. example: '' type: - string - 'null' uniqueEntityId: description: A unique entity identifier (UEI). example: '' type: - string - 'null' type: object id: description: The unique identifier for a subrecipient record. example: '1071847' type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/subrecipients/1071847 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: subrecipients type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/subrecipients?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/subrecipients?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/subrecipients?page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/subrecipients?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/subrecipients type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of subrecipients, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /subrecipients/{id}: get: description: Retrieves a single subrecipient by its ID. parameters: - description: A subrecipient ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a subrecipient record. example: '1071847' type: string responses: '200': content: application/vnd.api+json: example: data: attributes: address: DEPT OF HOUSING OFC CONF SVCS CAMPUS BOX 454 BOULDER, CO 80309-0001 United States of America dunsNumber: '' isSamRegistered: true referenceId: b323c596667a1001cef98c5c157f0000 subrecipientReferenceId: '1071847' supplierCategory: Other supplierName: REGENTS OF THE UNIVERSITY OF COLORADO supplierStatus: Active taxId: '' uniqueEntityId: '' id: '1071847' links: self: https://api.wisc.edu/finance/subrecipients/1071847 meta: lastModified: 2026-06-15 13:11:13 type: subrecipients links: self: https://api.wisc.edu/finance/subrecipients/1071847 schema: properties: data: description: A single subrecipient record. properties: attributes: properties: address: description: The primary address of the subrecipient. example: DEPT OF HOUSING OFC CONF SVCS CAMPUS BOX 454 BOULDER, CO 80309-0001 United States of America type: string dunsNumber: description: The DUNS number of the subrecipient. example: '' type: - string - 'null' isSamRegistered: description: Indicates if the subrecipient is registered in SAM. example: true type: - boolean - 'null' referenceId: description: An internal reference ID for the subrecipient. example: b323c596667a1001cef98c5c157f0000 type: string subrecipientReferenceId: description: A reference ID for the subrecipient. example: '1071847' type: string supplierCategory: description: The category of the supplier. example: Other type: string supplierName: description: The name of the subrecipient. example: REGENTS OF THE UNIVERSITY OF COLORADO type: string supplierStatus: description: The status of the supplier. example: Active type: string taxId: description: The tax ID of the subrecipient. example: '' type: - string - 'null' uniqueEntityId: description: A unique entity identifier (UEI). example: '' type: - string - 'null' type: object id: description: The unique identifier for a subrecipient record. example: '1071847' type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/subrecipients/1071847 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: subrecipients type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/subrecipients/1071847 type: string type: object type: object description: An API response with a single subrecipient record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /supplierContracts: get: description: Retrieves a paginated listing of all supplier contracts. parameters: - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[referenceId] schema: type: string - in: query name: filter[company] schema: type: string - in: query name: filter[name] schema: type: string - in: query name: filter[awardId] schema: type: string - in: query name: filter[supplierReferenceId] schema: type: string responses: '200': content: application/vnd.api+json: example: data: - attributes: awardId: AWD-000938 company: UWRVF descriptor: 'CON-00000073: SUBCONTRACT 3845' endDate: '2025-04-01' invoiceBalanceRemaining: 0 isSubjectToFfata: true lineTotalAmount: 0 name: '45' originalTotalContractAmount: 123.45 referenceId: SA-000092 specialistName: Bucky Badger startDate: null status: Approved supplierGroupReferenceId: '1234567' supplierName: THE WRIGHT INSTITUTE supplierReferenceId: '123456789' totalAmount: 123.45 id: CON-00004758 links: self: https://api.wisc.edu/finance/supplierContracts/CON-00004758 meta: lastModified: 2026-06-15 13:11:13 type: supplierContracts links: first: https://api.wisc.edu/finance/supplierContracts?page[number]=1 last: https://api.wisc.edu/finance/supplierContracts?page[number]=99 next: https://api.wisc.edu/finance/supplierContracts/page[number]=2 prev: https://api.wisc.edu/finance/supplierContracts?page[number]=1 self: https://api.wisc.edu/finance/supplierContracts meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of supplier contracts. items: description: A single supplier contract record. properties: attributes: properties: awardId: description: The ID of the award associated with this contract, if any example: AWD-000938 type: - string - 'null' company: description: The company associated with this contract example: UWRVF type: string descriptor: description: A descriptor for the contract example: 'CON-00000073: SUBCONTRACT 3845' type: string endDate: description: The end date of the contract example: '2025-04-01' type: - string - 'null' invoiceBalanceRemaining: description: The dollar amount remaining on the invoice for this contract example: 0 format: currency type: number isSubjectToFfata: description: Whether this contract is subject to FFATA example: true type: - boolean - 'null' lineTotalAmount: description: The total dollar amount for this line example: 0 format: currency type: number name: example: '45' type: - string - 'null' originalTotalContractAmount: description: The original total dollar amount of the contract example: 123.45 format: currency type: number referenceId: description: A reference ID for the contract example: SA-000092 type: string specialistName: description: The name of the specialist assigned example: Bucky Badger type: string startDate: description: The start date of the contract format: date type: string status: description: The current status of the contract example: Approved type: string supplierGroupReferenceId: description: The reference ID of the supplier group example: '1234567' type: string supplierName: description: The name of the supplier example: THE WRIGHT INSTITUTE type: string supplierReferenceId: description: The reference ID of the supplier example: '123456789' type: string totalAmount: description: The total dollar amount for the contract example: 123.45 format: currency type: number type: object id: description: The unique identifier for a supplier contract record. example: CON-00004758 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/supplierContracts/CON-00004758 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: supplierContracts type: string type: object type: array links: properties: first: description: A link to the first page of results example: https://api.wisc.edu/finance/supplierContracts?page[number]=1 type: string last: description: A link to the last page of results example: https://api.wisc.edu/finance/supplierContracts?page[number]=99 type: string next: description: A link to the next page of results, if there is one example: https://api.wisc.edu/finance/supplierContracts/page[number]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one example: https://api.wisc.edu/finance/supplierContracts?page[number]=1 type: - string - 'null' self: description: The link that generated this response example: https://api.wisc.edu/finance/supplierContracts type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of supplier contracts, pagination, and metadata '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /supplierContracts/{id}: get: description: Retrieves a single supplier contract by its ID. parameters: - description: A supplier contract ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a supplier contract record. example: CON-00004758 type: string responses: '200': content: application/vnd.api+json: example: data: attributes: awardId: AWD-000938 company: UWRVF descriptor: 'CON-00000073: SUBCONTRACT 3845' endDate: '2025-04-01' invoiceBalanceRemaining: 0 isSubjectToFfata: true lineTotalAmount: 0 name: '45' originalTotalContractAmount: 123.45 referenceId: SA-000092 specialistName: Bucky Badger startDate: null status: Approved supplierGroupReferenceId: '1234567' supplierName: THE WRIGHT INSTITUTE supplierReferenceId: '123456789' totalAmount: 123.45 id: CON-00004758 links: self: https://api.wisc.edu/finance/supplierContracts/CON-00004758 meta: lastModified: 2026-06-15 13:11:13 type: supplierContracts links: self: https://api.wisc.edu/finance/supplierContracts/CON-00004758 schema: properties: data: description: A single supplier contract record. properties: attributes: properties: awardId: description: The ID of the award associated with this contract, if any example: AWD-000938 type: - string - 'null' company: description: The company associated with this contract example: UWRVF type: string descriptor: description: A descriptor for the contract example: 'CON-00000073: SUBCONTRACT 3845' type: string endDate: description: The end date of the contract example: '2025-04-01' type: - string - 'null' invoiceBalanceRemaining: description: The dollar amount remaining on the invoice for this contract example: 0 format: currency type: number isSubjectToFfata: description: Whether this contract is subject to FFATA example: true type: - boolean - 'null' lineTotalAmount: description: The total dollar amount for this line example: 0 format: currency type: number name: example: '45' type: - string - 'null' originalTotalContractAmount: description: The original total dollar amount of the contract example: 123.45 format: currency type: number referenceId: description: A reference ID for the contract example: SA-000092 type: string specialistName: description: The name of the specialist assigned example: Bucky Badger type: string startDate: description: The start date of the contract format: date type: string status: description: The current status of the contract example: Approved type: string supplierGroupReferenceId: description: The reference ID of the supplier group example: '1234567' type: string supplierName: description: The name of the supplier example: THE WRIGHT INSTITUTE type: string supplierReferenceId: description: The reference ID of the supplier example: '123456789' type: string totalAmount: description: The total dollar amount for the contract example: 123.45 format: currency type: number type: object id: description: The unique identifier for a supplier contract record. example: CON-00004758 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/supplierContracts/CON-00004758 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: example: supplierContracts type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/supplierContracts/CON-00004758 type: string type: object type: object description: An API response with a single supplier contract record '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /supplierInvoices: get: description: Retrieves a paginated listing of all supplier invoices. parameters: - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string - description: The identifier of the record. in: query name: filter[id] required: false schema: type: string - description: The datetime that the record was last changed in the Finance API's database. in: query name: filter[lastModified] required: false schema: format: datetime type: string - description: Page offset of records included in the response in: query name: page[number] required: false schema: minimum: 1 type: integer - description: Number of records included in the response in: query name: page[size] required: false schema: maximum: 1000 minimum: 1 type: integer - in: query name: filter[accountingDate] schema: format: date type: string - in: query name: filter[amountDue] schema: format: double type: number - in: query name: filter[company] schema: type: string - in: query name: filter[date] schema: format: date type: string - in: query name: filter[defaultPaymentTypeId] schema: type: string - in: query name: filter[defaultPaymentTypeName] schema: type: string - in: query name: filter[dueDate] schema: format: date type: string - in: query name: filter[externalPoNumber] schema: type: string - in: query name: filter[isOnHold] schema: type: boolean - in: query name: filter[journalEntry] schema: type: string - in: query name: filter[journalMemo] schema: type: string - in: query name: filter[journalSequenceNumber] schema: type: string - in: query name: filter[ledgerAccountName] schema: type: string - in: query name: filter[line] schema: format: int64 type: integer - in: query name: filter[memo] schema: type: string - in: query name: filter[paymentStatus] schema: type: string - in: query name: filter[paymentTermsId] schema: type: string - in: query name: filter[paymentTermsName] schema: type: string - in: query name: filter[purchaseOrderId] schema: type: string - in: query name: filter[purchaseOrderRefId] schema: type: string - in: query name: filter[receivedDate] schema: format: date type: string - in: query name: filter[shipToAddress] schema: type: string - in: query name: filter[status] schema: type: string - in: query name: filter[supplierDocumentReceived] schema: type: boolean - in: query name: filter[supplierId] schema: type: string - in: query name: filter[supplierInvoiceNumber] schema: type: string - in: query name: filter[supplierName] schema: type: string - in: query name: filter[totalAmount] schema: format: double type: number responses: '200': content: application/vnd.api+json: example: data: - attributes: accountingDate: '2025-04-03' amountDue: 11500.0 company: UWMSN date: '2025-04-03' defaultPaymentTypeId: Check_Payable defaultPaymentTypeName: Check Payable dueDate: '2025-04-03' externalPoNumber: A001123, A001124, A001125 isOnHold: false journalEntry: 'Operational Journal: UWMSN University of Wisconsin Madison - 04/03/2025' journalMemo: ACCOUNT NO 123456 / CUSTOMER NO 8765432 journalSequenceNumber: JRN-2025-0000005317 ledgerAccountName: 'UWMSN University of Wisconsin Madison : Actuals' line: 28257 memo: Payment for Bucky Badger costume. paymentStatus: Paid paymentTermsId: 2/10N60 paymentTermsName: 2/10 Net 60 purchaseOrderId: PO-00062561 purchaseOrderRefId: PURCHASE_ORDER-3-125961 receivedDate: '2025-04-03' shipToAddress: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706, USA status: Approved supplierDocumentReceived: false supplierId: '0001234567' supplierInvoiceNumber: I00012345-67890 supplierName: BUCKY BADGER COSTUMING INC totalAmount: 1000.0 id: INV-00054321 links: self: https://api.wisc.edu/finance/supplierInvoices/INV-00054170 meta: lastModified: 2026-06-15 13:11:13 type: supplierInvoices links: first: https://api.wisc.edu/finance/supplierInvoices?page[first]=1 last: https://api.wisc.edu/finance/supplierInvoices?page[last]=99 next: https://api.wisc.edu/finance/supplierInvoices/page[next]=2 prev: https://api.wisc.edu/finance/supplierInvoices?page[prev]=1 self: https://api.wisc.edu/finance/supplierInvoices meta: pageNumber: 1 pageSize: 100 totalCount: 1234 totalPages: 13 schema: oneOf: - properties: data: description: A collection of supplier invoices. items: description: A single supplier invoice record. properties: attributes: properties: accountingDate: description: 'The date from the posted journal for the transaction associated with this invoice. This is usually the same as the transaction date, but can differ if the transaction and its posting span fiscal periods. ' example: '2025-04-03' format: date type: - string - 'null' amountDue: description: The dollar amount due for the invoice. example: 11500.0 format: double type: - number - 'null' company: description: The company of the invoice, representing the buying organization. example: UWMSN type: string date: description: The date the invoice was issued. example: '2025-04-03' format: date type: - string - 'null' defaultPaymentTypeId: description: The identifier for the default payment type of the reporting transaction. enum: - Check_Payable - Correction_Voucher - EFT_with_Reference - PPL - Wire example: Check_Payable type: string defaultPaymentTypeName: description: The human-readable name for the default payment type of the reporting transaction. enum: - Correction Voucher - Check Payable - Outgoing ACH - Outgoing Wire - PPL example: Check Payable type: string dueDate: description: The due date for the invoice. example: '2025-04-03' format: date type: - string - 'null' externalPoNumber: description: The external purchase order number(s) associated with the invoice. example: A001123, A001124, A001125 type: - string - 'null' isOnHold: description: Whether the invoice is currently on hold. example: false type: boolean journalEntry: description: The journal entry description. example: 'Operational Journal: UWMSN University of Wisconsin Madison - 04/03/2025' type: - string - 'null' journalMemo: description: 'The memo attached to the journal entry associated with this invoice. This field has no length or formatting restrictions. ' example: ACCOUNT NO 123456 / CUSTOMER NO 8765432 type: - string - 'null' journalSequenceNumber: description: The sequence number of the journal entry associated with this invoice. example: JRN-2025-0000005317 type: - string - 'null' ledgerAccountName: description: The name of the ledger account. example: 'UWMSN University of Wisconsin Madison : Actuals' type: - string - 'null' line: description: The line number of the invoice. example: 28257 format: int64 type: - integer - 'null' memo: description: 'The memo attached to the invoice. This field has no length or formatting restrictions. ' example: Payment for Bucky Badger costume. type: - string - 'null' paymentStatus: description: The payment status of the invoice. enum: - Paid - Unpaid example: Paid type: string paymentTermsId: description: The identifier for the customer or invoice's payment terms. example: 2/10N60 type: string paymentTermsName: description: The human-readable name for the customer or invoice's payment terms. example: 2/10 Net 60 type: string purchaseOrderId: description: The ID of the associated purchase order. example: PO-00062561 type: - string - 'null' purchaseOrderRefId: description: 'The reference ID of the associated purchase order. Sometimes the same as the `purchaseOrderId`. ' example: PURCHASE_ORDER-3-125961 type: - string - 'null' receivedDate: description: The date the invoice was received. example: '2025-04-03' format: date type: - string - 'null' shipToAddress: description: The address where goods or services were/will be delivered. example: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706, USA type: - string - 'null' status: description: The status of the invoice. This should always be "Approved". example: Approved type: - string - 'null' supplierDocumentReceived: description: Whether the supplier’s supporting documents have been received. example: false type: boolean supplierId: description: The reference ID of the supplier. example: '0001234567' type: - string - 'null' supplierInvoiceNumber: description: 'The reference number(s) provided by the supplier for the supplier invoice. Sometimes the same as the `id`. Sometimes contains data unrelated to invoice identifiers. ' example: I00012345-67890 type: - string - 'null' supplierName: description: The name of the supplier. example: BUCKY BADGER COSTUMING INC type: - string - 'null' totalAmount: description: 'The total dollar amount of the invoice, including tax. Can be positive or negative. When the reporting transaction is not an invoice, it will be set to 0. ' example: 1000.0 format: double type: - number - 'null' type: object id: description: The unique identifier for a supplier invoice record. example: INV-00054321 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/supplierInvoices/INV-00054170 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - supplierInvoices example: supplierInvoices type: string type: object type: array links: properties: first: description: A link to the first page of results. example: https://api.wisc.edu/finance/supplierInvoices?page[first]=1 type: string last: description: A link to the last page of results. example: https://api.wisc.edu/finance/supplierInvoices?page[last]=99 type: string next: description: A link to the next page of results, if there is one. example: https://api.wisc.edu/finance/supplierInvoices/page[next]=2 type: - string - 'null' prev: description: A link to the previous page of results, if there is one. example: https://api.wisc.edu/finance/supplierInvoices?page[prev]=1 type: - string - 'null' self: description: The link that generated this response. example: https://api.wisc.edu/finance/supplierInvoices type: string type: object meta: properties: pageNumber: description: Page number requested. example: 1 format: int64 type: integer pageSize: description: Number of items on each page. example: 100 format: int64 type: integer totalCount: description: Total number of items across all pages. example: 1234 format: int64 type: integer totalPages: description: Total number of pages given pageSize. example: 13 format: int64 type: integer type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a collection of supplier invoices, pagination, and metadata. '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other /supplierInvoices/{id}: get: description: Retrieves a single supplier invoice by its ID. parameters: - description: A supplier invoice ID passed in as a URL parameter. in: path name: id required: true schema: description: The unique identifier for a supplier invoice record. example: INV-00054321 type: string - description: Delivery mode for the response. When set to 'bulk', the API will save the response to S3 and return a link to download it instead of returning the data directly. Cannot be used with pagination parameters. examples: bulk: description: Returns a link to download data from S3 summary: Bulk delivery mode value: bulk pagination: description: Returns data with pagination support summary: Pagination delivery mode value: pagination in: query name: delivery schema: default: pagination enum: - pagination - bulk type: string responses: '200': content: application/vnd.api+json: example: data: attributes: accountingDate: '2025-04-03' amountDue: 11500.0 company: UWMSN date: '2025-04-03' defaultPaymentTypeId: Check_Payable defaultPaymentTypeName: Check Payable dueDate: '2025-04-03' externalPoNumber: A001123, A001124, A001125 isOnHold: false journalEntry: 'Operational Journal: UWMSN University of Wisconsin Madison - 04/03/2025' journalMemo: ACCOUNT NO 123456 / CUSTOMER NO 8765432 journalSequenceNumber: JRN-2025-0000005317 ledgerAccountName: 'UWMSN University of Wisconsin Madison : Actuals' line: 28257 memo: Payment for Bucky Badger costume. paymentStatus: Paid paymentTermsId: 2/10N60 paymentTermsName: 2/10 Net 60 purchaseOrderId: PO-00062561 purchaseOrderRefId: PURCHASE_ORDER-3-125961 receivedDate: '2025-04-03' shipToAddress: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706, USA status: Approved supplierDocumentReceived: false supplierId: '0001234567' supplierInvoiceNumber: I00012345-67890 supplierName: BUCKY BADGER COSTUMING INC totalAmount: 1000.0 id: INV-00054321 links: self: https://api.wisc.edu/finance/supplierInvoices/INV-00054170 meta: lastModified: 2026-06-15 13:11:13 type: supplierInvoices links: self: https://api.wisc.edu/finance/supplierInvoices/INV-00054170 schema: oneOf: - properties: data: description: A single supplier invoice record. properties: attributes: properties: accountingDate: description: 'The date from the posted journal for the transaction associated with this invoice. This is usually the same as the transaction date, but can differ if the transaction and its posting span fiscal periods. ' example: '2025-04-03' format: date type: - string - 'null' amountDue: description: The dollar amount due for the invoice. example: 11500.0 format: double type: - number - 'null' company: description: The company of the invoice, representing the buying organization. example: UWMSN type: string date: description: The date the invoice was issued. example: '2025-04-03' format: date type: - string - 'null' defaultPaymentTypeId: description: The identifier for the default payment type of the reporting transaction. enum: - Check_Payable - Correction_Voucher - EFT_with_Reference - PPL - Wire example: Check_Payable type: string defaultPaymentTypeName: description: The human-readable name for the default payment type of the reporting transaction. enum: - Correction Voucher - Check Payable - Outgoing ACH - Outgoing Wire - PPL example: Check Payable type: string dueDate: description: The due date for the invoice. example: '2025-04-03' format: date type: - string - 'null' externalPoNumber: description: The external purchase order number(s) associated with the invoice. example: A001123, A001124, A001125 type: - string - 'null' isOnHold: description: Whether the invoice is currently on hold. example: false type: boolean journalEntry: description: The journal entry description. example: 'Operational Journal: UWMSN University of Wisconsin Madison - 04/03/2025' type: - string - 'null' journalMemo: description: 'The memo attached to the journal entry associated with this invoice. This field has no length or formatting restrictions. ' example: ACCOUNT NO 123456 / CUSTOMER NO 8765432 type: - string - 'null' journalSequenceNumber: description: The sequence number of the journal entry associated with this invoice. example: JRN-2025-0000005317 type: - string - 'null' ledgerAccountName: description: The name of the ledger account. example: 'UWMSN University of Wisconsin Madison : Actuals' type: - string - 'null' line: description: The line number of the invoice. example: 28257 format: int64 type: - integer - 'null' memo: description: 'The memo attached to the invoice. This field has no length or formatting restrictions. ' example: Payment for Bucky Badger costume. type: - string - 'null' paymentStatus: description: The payment status of the invoice. enum: - Paid - Unpaid example: Paid type: string paymentTermsId: description: The identifier for the customer or invoice's payment terms. example: 2/10N60 type: string paymentTermsName: description: The human-readable name for the customer or invoice's payment terms. example: 2/10 Net 60 type: string purchaseOrderId: description: The ID of the associated purchase order. example: PO-00062561 type: - string - 'null' purchaseOrderRefId: description: 'The reference ID of the associated purchase order. Sometimes the same as the `purchaseOrderId`. ' example: PURCHASE_ORDER-3-125961 type: - string - 'null' receivedDate: description: The date the invoice was received. example: '2025-04-03' format: date type: - string - 'null' shipToAddress: description: The address where goods or services were/will be delivered. example: Wisconsin Field House, 1450 Monroe St, 120A Storage Closet, Madison, WI 53706, USA type: - string - 'null' status: description: The status of the invoice. This should always be "Approved". example: Approved type: - string - 'null' supplierDocumentReceived: description: Whether the supplier’s supporting documents have been received. example: false type: boolean supplierId: description: The reference ID of the supplier. example: '0001234567' type: - string - 'null' supplierInvoiceNumber: description: 'The reference number(s) provided by the supplier for the supplier invoice. Sometimes the same as the `id`. Sometimes contains data unrelated to invoice identifiers. ' example: I00012345-67890 type: - string - 'null' supplierName: description: The name of the supplier. example: BUCKY BADGER COSTUMING INC type: - string - 'null' totalAmount: description: 'The total dollar amount of the invoice, including tax. Can be positive or negative. When the reporting transaction is not an invoice, it will be set to 0. ' example: 1000.0 format: double type: - number - 'null' type: object id: description: The unique identifier for a supplier invoice record. example: INV-00054321 type: string links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/supplierInvoices/INV-00054170 type: string type: object meta: properties: lastModified: description: Date/time of the last time this worktag was updated in the product database in ISO format. example: 2026-06-15 13:11:13 type: - string - 'null' type: object type: enum: - supplierInvoices example: supplierInvoices type: string type: object links: description: Links related to this record properties: self: example: https://api.wisc.edu/finance/supplierInvoices/INV-00054170 type: string type: object type: object - properties: attributes: properties: url: description: Presigned URL to download the data from S3. The URL is valid for 15 minutes. example: https://example.com/link type: string type: object id: description: The unique identifier for an presigned link. example: 670ac856-91ef-47ee-8f1d-b79d4f656a10 type: string type: enum: - bulkDelivery example: bulkDelivery type: string type: object description: An API response with a single supplier invoice record. '400': content: application/vnd.api+json: examples: invalid-filter-parameters-not-filterable: description: 'Error raised when filtering on valid attributes that cannot be filtered on, such as attributes that are containers for nested objects. ' value: errors: - detail: Attribute 'lines' cannot be filtered on for internalServiceDeliveries. status: 400 title: Bad Request invalid-filter-parameters-not-found: description: Error raised when filtering on non-existent attributes. value: errors: - detail: Attribute 'foo' does not exist on internalServiceProviders. status: 400 title: Bad Request invalid-pagination-parameters-bad-value: description: 'Error raised when providing pagination parameters outside the allowed range or in an invalid datatype/format. ' value: errors: - detail: 'Invalid pagination parameter: ''size'' must be a positive integer between 1 and 1000 (got: '''').' status: 400 title: Bad Request invalid-pagination-parameters-not-found: description: Error raised when providing non-existent pagination parameters. value: errors: - detail: 'Invalid pagination parameter: ''num'' does not exist.' status: 400 title: Bad Request invalid-query-parameters: description: 'Error raised when using invalid query parameters, such as malformed filter parameters on valid attributes. ' value: errors: - detail: 'Invalid parameter: ''filter[id''.' status: 400 title: Bad Request unsupported-parameters: description: Error raised when attempting to use query parameters that an endpoint does not support. value: errors: - detail: 'The following query parameters are not supported/recongized for this endpoint: include, page.' status: 400 title: Bad Request schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: A bad request. '401': content: application/vnd.api+json: example: errors: - detail: Invalid or expired OAuth token. status: 401 title: Unauthorized schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid or expired OAuth token. '403': content: application/vnd.api+json: examples: invalid-company-access: description: Error raised when your application has misconfigured company access. value: errors: - detail: Your application has no allowed companies set. Contact the Finance API team (finance-apis@doit.wisc.edu) to resolve this. status: 403 title: Forbidden no-company-access: description: Error raised when attempting to query data belonging to companies you not have access to. value: errors: - detail: You don't have access to company 'XYZ'. status: 403 title: Forbidden no-permission: description: Error raised when your application does not have permission to use an endpoint. value: errors: - detail: You don't have access to this endpoint. status: 403 title: Forbidden schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: You requested information for which you don't have the proper authorization. '404': content: application/vnd.api+json: example: errors: - detail: Requested record could not be found. status: 404 title: Not Found schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Requested record could not be found. '415': content: application/vnd.api+json: example: errors: - detail: Expected media type 'application/vnd.api+json'. status: 415 title: Unsupported Media Type schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Invalid media type in contentType header. '429': content: application/vnd.api+json: example: errors: - detail: Quota exceeded. status: 429 title: Too Many Requests schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Quota exceeded. '503': content: application/vnd.api+json: example: errors: - detail: Dependent service unavailable. status: 503 title: Service Unavailable schema: properties: errors: items: description: An error properties: detail: type: string status: type: number title: type: string type: array type: object description: Finance API is unavailable. tags: - Other components: securitySchemes: OAuth2ClientCredentials: flows: clientCredentials: scopes: {} tokenUrl: https://api.wisc.edu/oauth/token type: oauth2