Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


The custom protein data API is available from all specified endpoints use this base address.

Store Custom Proteins

New custom proteins will need to be stored in the 3DM custom protein storage first. This can be achieved with a request to the customproteindata API. Submit a HTTP POST request to with a custom protein document input as body. Add HTTP headers to set the data format using 'Content-type: application/json' and the credentials using 'Authorization: Bearer {token}'. A customId and sequence are required, all other fields are optional. On successful completion the endpoint will return a json formatted document containing data on the custom protein (see below). This document contains the protein id used internally which is required to add alignments to the protein later on. Systems to align the custom protein to can be specified using the optional systems array. For any systems containing multiple families these can be specified after the system separated by a colon, eg. sfamid1,sfamid2,sfamid2:4. Default family is used if the family is left unspecified.


Custom proteins by default are only visible to the user that submitted the protein. To ensure all users of your group can access the custom protein set sharedWith to the numerical id of the group you want to share the protein with. Details of the groups you are a member of can be retrieved using the Bio-Prodict Accounts API. Alternatively, you can use the custom protein overview pages described in the 'External links' paragraph to set sharedWith on an individual custom protein basis.Store multiple documents

Batch Store

A batch insert option is available to store multiple custom proteins at once. This option can be invoked using a POST request to with batch with a list of input documents as body. The input documents are described in the store single document paragraph. The endpoint will respond with a location url in the response headers of format{uuid} This url can be polled to check on the progress of creating new custom proteins. When finished the poll call will respond with a retrieve endpoint that can be used to retrieve a list of all custom proteins stored successfully.

Update Custom Proteins

Custom protein documents can be updated using a HTTP PATCH request to /customProteinDocuments/{id} with a custom protein document data in input format as body. All fields are optional, you only need to specify what you want to update. Currently changing the customId or sequence is not supported.

Align existing document in new super-family

To align an existing custom protein to a new 3DM system use an HTTP POST request to{id}/align?requestedsystems={list} The requestedsystems parameter is described in the Submit document paragraph, the id of the custom protein can be found in the json document returned by the initial call storing it.