Skip to main content

New *Schema APIs coming to the V3 API!

  • April 30, 2026
  • 16 replies
  • 221 views

john.vogt
Benchling Employee

On May 11th***, there will be several new Schema endpoints to interact with at Alpha stability. These endpoints support Create and Update! In addition, we also support applying Fieldsets. Please be on the lookout for the following new API endpoints!

  • CustomEntitySchema
  • AaSequenceSchema
  • DnaOligoSchema
  • DnaSequenceSchema
  • OligoConjugateSchema
  • OligoDuplexSchema
  • RnaOligoSchema
  • RnaSequenceSchema
  • MixtureSchema
  • MoleculeSchema
  • EquipmentSchema

In the V2, API, this schema information was provided through the /entity-schemas resource. In the V3 API, we broke them out to work alongside the associated endpoint that provides the data from a particular schema type:

  • AaSequence
  • AaSequenceSchema
  • etc

***Apologies--we pushed back the dates a few days do to some timeline shifting!

16 replies

vinniev
Forum|alt.badge.img+1
  • Active Contributor
  • May 4, 2026

 


jorge.cordero
  • Active Contributor
  • May 5, 2026

RemindMe! 3 days 😂

Looking forward to this!


Ken Robbins
Forum|alt.badge.img+3
  • Active Contributor
  • May 5, 2026

Tingling with anticipation ​@john.vogt ! This is perhaps the (my) longest sought for capability.

Are you able to provide guidance on the planned schedule for progression from alpha to beta to GA?

Similarly, what’s the plan for SDK support?

 


Ken Robbins
Forum|alt.badge.img+3
  • Active Contributor
  • May 6, 2026

Hey ​@john.vogt , I guess I’ll find out more in 2 days, but one thing I’m thinking about is if these new APIs will have the notion of a transaction (or rollback). In other words, config migration does a remarkable job of validating a plan across multiple object create/update operations, and then only executing when it is certain to succeed. (The team has done a remarkable job with this IMHO.) If we use APIs for coordinated multi-schema updates, will there be any support for validation or transactions or anything else to support changes of more than one schema at a time?


john.vogt
Benchling Employee
  • Author
  • Benchling Employee
  • May 8, 2026

@Ken Robbins apologies, but I haven’t yet been able to get an answer on the SDK.

RE: Transaction/Rollback - When we have discussed this support, we have typically discussed the need for a composite API resource to group sets of changes. This capability is not part of the API feature work at this point in time.


Ken Robbins
Forum|alt.badge.img+3
  • Active Contributor
  • May 8, 2026

Thanks for the update. A “composite API resource” would be great to have and important for more complex changes. Is the API still being released today? Will notification appear in the change log or just here?


john.vogt
Benchling Employee
  • Author
  • Benchling Employee
  • May 8, 2026

@Ken Robbins - apologies for the confusion. We updated the original post to reflect May 11th as the release date. I should have followed that update with a reply in this thread for those that were following.

 

We found a couple of bugs this week and were optimistic we could still hit our rollout date today, but unfortunately, the pull requests are still making their way through our CI system, so the updates won’t land until Monday.


Ken Robbins
Forum|alt.badge.img+3
  • Active Contributor
  • May 8, 2026

No worries at all. Thanks for letting us know.


vinniev
Forum|alt.badge.img+1
  • Active Contributor
  • May 11, 2026

Noice - so today’s the day? :)


nirmit.d
Forum|alt.badge.img
  • Contributor
  • May 12, 2026

This is awesome! I’m excited to work these new API endpoints into Liminal for creating and updating entity schemas. Applying fieldsets is also something I was really looking forward to and I hope to build functionality in Liminal to be able to define fieldsets in code as abstract classes.

 

-- Nirmit


john.vogt
Benchling Employee
  • Author
  • Benchling Employee
  • May 12, 2026

Hey Everyone - Another quick update and apology. You may have noticed the new API endpoints and, if so, you probably also noticed that creating and updating is not yet available. That should be fixed soon. We found another issue and it is already fixed. The ability to create/update will be rolled out today.


john.vogt
Benchling Employee
  • Author
  • Benchling Employee
  • May 14, 2026

@Ken Robbins SDK for the V3 API is in the works for this quarter. We don’t have a specific delivery date at this point in time, though.

 

Also, all of the create/update resources are now available for usage/testing. Let us know what you think.


Ken Robbins
Forum|alt.badge.img+3
  • Active Contributor
  • May 14, 2026

Thanks for the SDK update John.

It’s here! I see POSTs and PATCHes galore!🤓

I don’t understand the bulk operations. The payload is just 

{
"fileId": "string"
}

Is there more doc on this somewhere?


john.vogt
Benchling Employee
  • Author
  • Benchling Employee
  • May 19, 2026

@Ken Robbins 

The V3 API automatically provides both bulk create/update endpoints (/benchling/aa-sequence-schema:bulk-create, /benchling/aa-sequence-schema:bulk-update ) as well as individual create/update endpoints (/benchling/aa-sequence-schema, /benchling/aa-sequence-schema/{aa_sequence_schema_id}).

The latter provides the format the commenter is likely expecting, with a json payload of the data to create / update. The bulk create / update endpoints expect you to have uploaded a file which the endpoint then reads from to perform large bulk creates and updates, which is why the only param is a fileId.

I’m working to see if I can find more details on this for you.


john.vogt
Benchling Employee
  • Author
  • Benchling Employee
  • May 19, 2026

@Ken Robbins Check out this post as well - https://docs.benchling.com/docs/importing-data-with-the-bulk-import-api


Ken Robbins
Forum|alt.badge.img+3
  • Active Contributor
  • May 19, 2026

Perfect! That answers the question ​@john.vogt .

For those that don’t want to click through, here’s the keep part:

Define your input objects in a jsonl file - one json object per line. Each input object is a dictionary with the keys request_id and input_object. The shape of the input_object is defined by the corresponding single POST endpoint for the type that you are trying to mutate in bulk.