Working with APIs in Specify Introduction
Working with APIs in Specify Introduction Transcript
Working With APIs Part 1 Transcript.vtt (72.2 KB)
The first session of our two‑part webinar series introduced the fundamentals of working with APIs in Specify. Jason Melton walked through the core concepts behind APIs, how they support communication between software systems, and how they power many of the tools members already use in Specify.
Key points from the session include:
-
What an API is and why it matters
Jason explained that APIs are simply structured ways for software to communicate. Everything you do in the Specify browser uses the Specify API behind the scenes, from running queries to validating Workbench datasets. -
How Specify is structured behind the scenes
The session introduced a clear mental model of Specify’s architecture: the browser, the Specify server, the database, and the microservices such as the Asset Server and Report Runner. This helped frame how API requests move through the system. -
The basics of HTTP requests and responses
Participants learned how GET, POST, PUT, and DELETE requests work, how endpoints identify resources, and how status codes indicate success or errors. Jason noted that “everything your browser does is accomplished through the Specify 7 API.” -
Understanding JSON
The webinar included a short crash course on JSON, the format used for sending and receiving data through the API. Jason showed how Specify represents records as JSON objects, including relationships, arrays, and null values. -
Exploring the Tables API
The session demonstrated how to view API endpoints directly in Specify, how to fetch records, and how to use parameters such as limit, offset, order by, and domain filter to shape results.
These foundations set the stage for working confidently with the Specify API and understanding how it can support automation, integrations, and custom workflows.
Working with APIs in Specify Advanced
Working with APIs in Specify Advanced Transcript
Working With APIs Part 2 Transcript.vtt (57.1 KB)
This second session built on the fundamentals established in Working with APIs in Specify 7 Introduction and moved into more advanced examples, including practical workflows, community projects, and ways APIs can support automation and custom tools.
Key points from the advanced session include:
-
Creating, updating, and deleting records through the API
Jason reviewed how POST, PUT, and DELETE requests work in Specify, including how to structure request bodies and why PUT requests must include all non‑default fields. As he noted, “a put has to have the values of all the non‑default attributes… even if they are unchanged.” -
Understanding how Specify represents relationships in JSON
The session explained how dependent and independent relationships appear in API responses and updates. Dependent relationships return serialized objects or arrays, while independent relationships appear as resource URIs. “Representing relationships are slightly more complicated… thankfully, there is a pretty consistent scheme that Specify follows.” -
Authenticating with the Specify API
Jason walked through the two‑step login process: first sending a GET request to retrieve collections and a CSRF token, then sending a PUT request with username, password, and collection ID. “Specify does have an interesting method of authenticating… to tell the API that you are a specific user.” -
Working with pagination for large data sets
The webinar demonstrated how to fetch records in batches using limit and offset parameters, process each page, and continue until all results are retrieved. “Most Git requests or data fetches should be paginated… it doesn’t give you all of the results at once.” -
Building a complete API workflow in Python
Jason tied the concepts together with a full script that logs in, retrieves filtered collection objects, updates records, aggregates preparation counts, and generates a visualization. The demo also showed how to create a record set programmatically for viewing results in Specify. -
Using the Query Builder API for more complex data retrieval
The session introduced the Query Builder API as a way to construct efficient, advanced queries for complex data needs. -
Exploring community tools
Participants were introduced to Awesome Specify, a community‑driven collection of projects and examples that support API learning and development.