Notes
This sprint we started working with a new dataset, one for award supplier contracts. We completed the ETL part of it and expect to have the endpoint ready for use at the end of the next sprint.
We added a new descendantOf
filter to the cost centers endpoint. This works similarly to the filter of the same name on the hierarchies endpoint and is an expansion of the previously existing parentHierarchyId
filter for cost centers. Pass in the ID of a cost center hierarchy (starting with CCH) of any level, and you’ll get all the cost centers that descend from it. Previously this took two calls to separate API endpoints.
We added a bunch of new filters for sales items, sponsor invoices, and award subrecipients. We also removed a few active
filters that were documented in the specification but not actually part of the functionality of the API. This affected the awardLines, awardTasks, catalogItems, sponsorInvoices, and supplierContracts endpoints. Those records don’t actually have a single active field (though some of them have a more complex status field), so we weren’t able to represent a boolean value.
We fixed a bug that affected all the endpoints with string filters – the ones that use the STARTS_WITH, ENDS_WITH, or CONTAINS prefixes. Previously, underscore (_) and percent (%) characters were being interpreted as wildcards, meaning they could match any character. We’ve corrected that, and now any special characters you pass in a parameter will be interpreted literally. This includes backslash (\) characters. The only exception is URL encoded characters, like %20
for a space or %2F
for a forward slash (/). URL encoded characters are interpreted before being passed to the filters.
We fixed another bug with edge cases on FDM validation, where submitting a bad value for a driver worktag resulted in a server error instead of a useful error message. This has been corrected now. We also did some internal improvements: we’re now automatically running our ETL process on every deploy in addition to the regularly scheduled nightly run, and we synchronized the base URLs in the OpenAPI specification.
API changes
- New
descendantOf
filter on cost centers - New
description
andgroupReferenceId
filters on sales items - Nonfunctional
active
filters removed from award lines, award tasks, catalog items, sponsor invoices, and supplier contracts validateFdm
endpoint now processes all parameter characters literally, including%
,_
, and\
- Passing a nonexistant driver worktag to the validation endpoint no longer triggers a server error