Webinar: Working with APIs in Specify

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.

Great webinar @jason_m! Very comprehensive