Protocol Documentation

Table of Contents

github.com/mwitkow/go-proto-validators/validator.proto

Top

FieldValidator

FieldTypeLabelDescription
regex string optional

Uses a Golang RE2-syntax regex to match the field contents.

int_gt int64 optional

Field value of integer strictly greater than this value.

int_lt int64 optional

Field value of integer strictly smaller than this value.

msg_exists bool optional

Used for nested message types, requires that the message type exists.

human_error string optional

Human error specifies a user-customizable error that is visible to the user.

float_gt double optional

Field value of double strictly greater than this value. Note that this value can only take on a valid floating point value. Use together with float_epsilon if you need something more specific.

float_lt double optional

Field value of double strictly smaller than this value. Note that this value can only take on a valid floating point value. Use together with float_epsilon if you need something more specific.

float_epsilon double optional

Field value of double describing the epsilon within which any comparison should be considered to be true. For example, when using float_gt = 0.35, using a float_epsilon of 0.05 would mean that any value above 0.30 is acceptable. It can be thought of as a {float_value_condition} +- {float_epsilon}. If unset, no correction for floating point inaccuracies in comparisons will be attempted.

float_gte double optional

Floating-point value compared to which the field content should be greater or equal.

float_lte double optional

Floating-point value compared to which the field content should be smaller or equal.

string_not_empty bool optional

Used for string fields, requires the string to be not empty (i.e different from "").

repeated_count_min int64 optional

Repeated field with at least this number of elements.

repeated_count_max int64 optional

Repeated field with at most this number of elements.

length_gt int64 optional

Field value of length greater than this value.

length_lt int64 optional

Field value of length smaller than this value.

length_eq int64 optional

Field value of length strictly equal to this value.

is_in_enum bool optional

Requires that the value is in the enum.

uuid_ver int32 optional

Ensures that a string value is in UUID format. uuid_ver specifies the valid UUID versions. Valid values are: 0-5. If uuid_ver is 0 all UUID versions are accepted.

OneofValidator

FieldTypeLabelDescription
required bool optional

Require that one of the oneof fields is set.

File-level Extensions

ExtensionTypeBaseNumberDescription
field FieldValidator .google.protobuf.FieldOptions 65020

oneof OneofValidator .google.protobuf.OneofOptions 65021

dictybase/analysis/analysis.proto

Top

BlastDbParams

Similar to the BlastDbParams except the sequence chunks

FieldTypeLabelDescription
file_name string

name of the sequence file

taxon_id string

ncbi taxonid of the organism

name string

name of the database

title string

human readable description of the database

seqtype string

Type of sequence, nucleotide or protein

Validated Fields

Field Validations
taxon_id
  • string_not_empty: true
name
  • string_not_empty: true
title
  • string_not_empty: true
seqtype
  • string_not_empty: true

BlastDbRequest

Various parameters required for creating a blast database

FieldTypeLabelDescription
seq_chunk bytes

sequence needed for database, provided in chunks

taxon_id string

ncbi taxonid of the organism

name string

name of the database

title string

human readable description of the database

seqtype string

Type of sequence, nucleotide or protein

Validated Fields

Field Validations
taxon_id
  • string_not_empty: true
name
  • string_not_empty: true
title
  • string_not_empty: true
seqtype
  • string_not_empty: true

AnalysisService

Method NameRequest TypeResponse TypeDescription
CreateBlastDb BlastDbRequest stream .google.protobuf.Empty

Create a blast database from the provided sequence

dictybase/api/upload/file.proto

Top

FileUploadRequest

FileUploadRequest defines requests parameters for uploading

a file through protocol buffer. The file is expected to be uploaded

grpc client side streaming

FieldTypeLabelDescription
name string

name of the file

content bytes

content of the file, expected to be streamed in chunk

FileUploadResponse

FileUploadResponse defines response received after completion of

file upload

FieldTypeLabelDescription
status FileUploadResponse.Status

Status gives the status after file upload

msg string

message send by the server after file upload

FileUploadResponse.Status

NameNumberDescription
CREATED 0

a new file

UPDATED 1

an existing file

dictybase/annotation/annotation.proto

Top

AnnotationGroupId

FieldTypeLabelDescription
id string

unique identifier for the annotation

group_id string

unique identifier of a group

Validated Fields

Field Validations
id
  • string_not_empty: true
group_id
  • string_not_empty: true

AnnotationId

FieldTypeLabelDescription
id string

unique identifier for the annotation

Validated Fields

Field Validations
id
  • string_not_empty: true

AnnotationIdList

Identifiers for grouping list of tagged annotations

FieldTypeLabelDescription
ids string repeated

list of unique identifiers

Validated Fields

Field Validations
ids
  • repeated_count_min: 1

AnnotationTag

Definition of annotation tag

FieldTypeLabelDescription
id string

tag identifier

name string

human readable name

ontology string

ontology to which this tag belong

is_obsolete bool

status for active or retired tag

DeleteAnnotationRequest

FieldTypeLabelDescription
id string

unique identifier for the annotation

purge bool

flag to indicate whether the entry will be wiped or turned obsolete(soft delete)

Validated Fields

Field Validations
id
  • string_not_empty: true

EntryAnnotationRequest

Definition for various fields that are needed for fetching annotation for an

entry. The tag, ontology and entry_id must be provided, version and rank are

optional and their default values are used.

FieldTypeLabelDescription
tag string

An identifiable tagname for the annotation, primarily a structured tag, generally an ontology term.

entry_id string

unique identifier of a biological entity that is being annotated

ontology string

Name of ontology in which the tag name is taken

rank int64

Ordering of annotation when an entry has multiple annotations with identical tag from the same ontology. By default, rank 0 is assumed.

is_obsolete bool

Status for active or retired annotation. Active annotation is chosen by default.

Validated Fields

Field Validations
tag
  • string_not_empty: true
entry_id
  • string_not_empty: true
ontology
  • string_not_empty: true

GroupEntryId

FieldTypeLabelDescription
group_id string

unique identifier of a group

Validated Fields

Field Validations
group_id
  • string_not_empty: true

ListGroupParameters

ListGroupParameters defines fields for manipulating output of TaggedAnnotationGroupCollection collection

FieldTypeLabelDescription
cursor int64

A unique pointer to the next set of result in the list

limit int64

Maximum number of records that can be fetch per request

filter string

The `filter` field restricts the data return by the collection. To use it, supply one or multiple allowed fields to filter followed by a filter expression. It uses the following syntax... field_name operator expression The following fields of `AnnotationAttributes` definition are allowed to be used for filtering * entry_id - The entry that is being annotated (string) * created_by - Email id of the user (string) * tag - Tag name, a term from an ontology (string). * ontology - Ontology that provides the tag names (string). * rank - Ordering of annotation (number). operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded for http request. Operators for strings =~ Contains substring !~ Not contains substring === Equals !== Not equals Operators for numbers == Equals != Not equals > Greater than < Less than =< Less than equal to >= Greater than equal to expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded for http request. filter: "created_by==caboose@abc.com" filter: "entry_id==DDB_G4839483" filter: "tag==growth" Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR. filter: "tag~cytoskeletion;entry_id==DDB_G4839783;ontology==cellular" filter: "tag~membrane;entry_id==DDB_G4839783;ontology==cellular;rank=0"

ListParameters

ListParameters defines fields for manipulating output of TaggedAnnotation collection

FieldTypeLabelDescription
cursor int64

A unique pointer to the next set of result in the list

limit int64

Maximum number of records that can be fetch per request

filter string

The `filter` field restricts the data return by the collection. To use it, supply one or multiple allowed fields to filter followed by a filter expression. It uses the following syntax... field_name operator expression The following fields of `AnnotationAttributes` definition are allowed to be used for filtering * entry_id - The entry that is being annotated (string) * value - The annotation in plain text format (string) * created_by - Email id of the user (string) * tag - Tag name, a term from an ontology (string). * ontology - Ontology that provides the tag names (string). * version - Version no (number). * value - annotation in plain text format (number). operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded for http request. Operators for strings =~ Contains substring !~ Not contains substring === Equals !== Not equals Operators for numbers == Equals != Not equals > Greater than < Less than =< Less than equal to >= Greater than equal to expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded for http request. filter: "created_by==caboose@abc.com" filter: "entry_id==DDB_G4839483" filter: "value~actin" Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR. filter: "value~cytoskeletion;tag==cell membrane;ontology==cellular"

Meta

FieldTypeLabelDescription
next_cursor int64

A unique pointer to the next set of result in the collection. Set the cursor value parameter to the value of next_cursor to retrieve the next set of collection using the same method

limit int64

Maximum number of records that can be fetch per request

NewTaggedAnnotation

Definition for creating a new tagged annotation

FieldTypeLabelDescription
data NewTaggedAnnotation.Data

Validated Fields

Field Validations
data
  • msg_exists: true

NewTaggedAnnotation.Data

FieldTypeLabelDescription
type string

resource name, by default should be annotation

attributes NewTaggedAnnotationAttributes

NewTaggedAnnotationAttributes

NewTaggedAnnotation defines attributes for creating a new annotation

FieldTypeLabelDescription
value string

annotation in plain text format

editable_value string

serialized text content in a format recognized by frontend rich text editor

created_by string

Unique identifier(generally email) of the user who created the annotation

tag string

An identifiable tagname for the annotation, primarily a structured tag, generally an ontology term.

entry_id string

unique identifier of a biological entity that is being annotated

ontology string

Name of ontology from which the tag name is taken

rank int64

Ordering of annotation when an entry has multiple annotations with identical tag from the same ontology. By default, rank 0 is used.

Validated Fields

Field Validations
value
  • string_not_empty: true
created_by
  • string_not_empty: true
tag
  • string_not_empty: true
entry_id
  • string_not_empty: true
ontology
  • string_not_empty: true

TagRequest

Definition of various fields needed to fetch a tag information

FieldTypeLabelDescription
name string

human readable name

ontology string

ontology to which this tag belong

is_obsolete bool

status for active or retired tag

Validated Fields

Field Validations
name
  • string_not_empty: true
ontology
  • string_not_empty: true

TaggedAnnotation

Definition of an tag value based biological annotation where the tag always

represents a term from ontology.

FieldTypeLabelDescription
data TaggedAnnotation.Data

Validated Fields

Field Validations
data
  • msg_exists: true

TaggedAnnotation.Data

FieldTypeLabelDescription
type string

resource name, by default should be annotation

id string

unique identifier for the annotation

attributes TaggedAnnotationAttributes

TaggedAnnotationAttributes

Definition of various tagged annotation attributes

FieldTypeLabelDescription
value string

annotation in plain text format

editable_value string

serialized text content in a format recognized by frontend rich text editor

created_by string

Unique identifier(generally email) of the user who created the annotation

created_at google.protobuf.Timestamp

Timestamp for creation

tag string

An identifiable tagname for the annotation, primarily a structured tag, generally an ontology term.

version int64

version refers to the current version no

entry_id string

unique identifier of a biological entity that is being annotated

ontology string

Name of ontology in which the tag name is taken

rank int64

Ordering of annotation when an entry has multiple annotations with identical tag from the same ontology.

is_obsolete bool

Status for active or retired annotation

Validated Fields

Field Validations
value
  • string_not_empty: true
created_by
  • string_not_empty: true
created_at
  • msg_exists: true
tag
  • string_not_empty: true
version
  • int_gt: 0
entry_id
  • string_not_empty: true
ontology
  • string_not_empty: true

TaggedAnnotationCollection

List of paginated tagged annotations

FieldTypeLabelDescription
data TaggedAnnotationCollection.Data repeated

meta Meta

Validated Fields

Field Validations
meta
  • msg_exists: true

TaggedAnnotationCollection.Data

FieldTypeLabelDescription
type string

resource name, by default should be annotation

id string

unique identifier for the annotation

attributes TaggedAnnotationAttributes

TaggedAnnotationGroup

Group of tagged annotations

FieldTypeLabelDescription
data TaggedAnnotationGroup.Data repeated

group_id string

unique identifier for the annotation group

created_at google.protobuf.Timestamp

Timestamp for creation an update

updated_at google.protobuf.Timestamp

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true

TaggedAnnotationGroup.Data

FieldTypeLabelDescription
type string

resource name, by default should be annotation

id string

unique identifier for the annotation

attributes TaggedAnnotationAttributes

TaggedAnnotationGroupCollection

List of tagged annotation groups

FieldTypeLabelDescription
data TaggedAnnotationGroupCollection.Data repeated

meta Meta

Validated Fields

Field Validations
meta
  • msg_exists: true

TaggedAnnotationGroupCollection.Data

FieldTypeLabelDescription
type string

resource name, by default it should be annotation group

group TaggedAnnotationGroup

TaggedAnnotationUpdate

Definition for updating an existing annotation

FieldTypeLabelDescription
data TaggedAnnotationUpdate.Data

Validated Fields

Field Validations
data
  • msg_exists: true

TaggedAnnotationUpdate.Data

FieldTypeLabelDescription
type string

resource name, by default should be annotation

id string

unique identifier for the annotation

attributes TaggedAnnotationUpdateAttributes

Validated Fields

Field Validations
id
  • string_not_empty: true

TaggedAnnotationUpdateAttributes

TaggedUpdateAnnotation defines attributes for updating an existing annotation

FieldTypeLabelDescription
value string

annotation in plain text format

editable_value string

serialized text content in a format recognized by frontend rich text editor

created_by string

Unique identifier(generally email) of the user who created the annotation

Validated Fields

Field Validations
value
  • string_not_empty: true
editable_value
  • string_not_empty: true
created_by
  • string_not_empty: true

TaggedAnnotationService

The tagged annotation service specification

Method NameRequest TypeResponse TypeDescription
GetAnnotation AnnotationId TaggedAnnotation

Retrieves the specified tagged annotation

GetEntryAnnotation EntryAnnotationRequest TaggedAnnotation

Retrieves a single tagged annotation associated with a specific entry

ListAnnotations ListParameters TaggedAnnotationCollection

List tagged annotations using pagination, ten entries are retrieved by default

CreateAnnotation NewTaggedAnnotation TaggedAnnotation

Create a tagged annotation

UpdateAnnotation TaggedAnnotationUpdate TaggedAnnotation

Update an existing annotation, in this case a new annotation entry is created with a link to the previous annotation(copy on write).

DeleteAnnotation DeleteAnnotationRequest .google.protobuf.Empty

Delete an existing annotation

CreateAnnotationGroup AnnotationIdList TaggedAnnotationGroup

Creates an annotation group from bunch of existing tagged annotations.

GetAnnotationGroup GroupEntryId TaggedAnnotationGroup

Retrieves an annotation group

AddToAnnotationGroup AnnotationGroupId TaggedAnnotationGroup

Adds an existing annotation into an existing annotation group

DeleteAnnotationGroup GroupEntryId .google.protobuf.Empty

Remove an annotation group

ListAnnotationGroups ListGroupParameters TaggedAnnotationGroupCollection

List tagged annotation groups using pagination, ten entries are retrieved by default

GetAnnotationTag TagRequest AnnotationTag

Retrieves tag information

OboJSONFileUpload .dictybase.api.upload.FileUploadRequest stream .dictybase.api.upload.FileUploadResponse

Upload obojson formatted file through client side streaming

dictybase/api/jsonapi/payload.proto

Top

Data

A [resource identifier object](http://jsonapi.org/format/#document-resource-identifier-objects).

FieldTypeLabelDescription
type string

The resource name.

id int64

Unique id.

DataCollection

Definition for resource identifier collection objects.

FieldTypeLabelDescription
id int64

data Data repeated

A container for http links.

FieldTypeLabelDescription
self string

A http link. It points to the resource itself.

related string

A http link. It points to a related resource.

Meta

Top level meta container.

FieldTypeLabelDescription
pagination Pagination

Pagination

A container for various pagination properties

FieldTypeLabelDescription
records int64

Total number of entries, regardless of pages.

total int64

Total number of pages.

size int64

Number of entries per page.

number int64

Current page number.

A container for pagination links.

FieldTypeLabelDescription
self string

A http link to the resource itself.

next string

A http link to the next page of data.

prev string

A http link to the previous page of data.

last string

A http link to the last page of data.

first string

A http link to the first page of data.

dictybase/api/jsonapi/request.proto

Top

DeleteRequest

A `DeleteRequest` defines the url parameter that must be passed

to remove a singular resource.

FieldTypeLabelDescription
id int64

An unique identifier, for example: "/users/34"

ExistResponse

ExistResponse wraps a boolean response

FieldTypeLabelDescription
exist bool

exist or non-existant

GetEmailRequest

A `GetEmailRequest` is identical to GetRequest except `email` id used as unique identifier.

FieldTypeLabelDescription
email string

Email id "/users/newman@seinfeld.org"

include string

include query parameter to retrieve any particular or particular combination of relationships. Multiple include values are delimited by comma(,). For example, /{resource_name}/13?include=baz /{resource_name}/13?include=baz,bot

fields string

fields query parameter to retrieve any particular or any particular combination of attributes. Multiple fields values are delimited by comma(,). For example, /{resource_name}/29?fields=foo /{resource_name}/?fields=foo,bar

GetRequest

A `GetRequest` defines various url and query parameters that could be passed

in a HTTP **GET** request to a singular resource. Majority of the request

parameters are identical or similar to [jsonapi](http://jsonapi.org).

FieldTypeLabelDescription
id int64

An unique identifier, for example: "/users/34"

include string

include query parameter to retrieve any particular or particular combination of relationships. Multiple include values are delimited by comma(,). For example, /{resource_name}/13?include=baz /{resource_name}/13?include=baz,bot

fields string

fields query parameter to retrieve any particular or any particular combination of attributes. Multiple fields values are delimited by comma(,). For example /{resource_name}/29?fields=foo /{resource_name}/?fields=foo,bar

GetRequestWithFields

A `GetRequestWithFields` is a subset of GetRequest which only allow the fields parameter.

FieldTypeLabelDescription
id int64

An unique identifier, for example: "/users/34"

fields string

fields query parameter to retrieve any particular or any particular combination of attributes. Multiple fields values are delimited by comma(,). For example /{resource_name}/29?fields=foo /{resource_name}/?fields=foo,bar

HealthzIdRequest

FieldTypeLabelDescription
id int64

Validated Fields

Field Validations
id
  • int_gt: 0
  • int_lt: 2

IdRequest

FieldTypeLabelDescription
id int64

An unique identifier

IdResponse

FieldTypeLabelDescription
id int64

An unique identifier

ListRequest

A `ListRequest` defines various url and query parameters that could be

passed in a HTTP **GET** request to a collection resource. All collection

resources are expected to support pagination. Majority of the request

parameters are identical or similar to [jsonapi](http://jsonapi.org).

FieldTypeLabelDescription
include string

include query parameter to retrieve any particular or particular combination of relationships. Multiple include values are delimited by comma(,). For example, /{resource_name}/13?include=baz /{resource_name}/13?include=baz,bot

fields string

fields query parameter to retrieve any particular or any particular combination of attributes. Multiple fields values are delimited by comma(,). For example /{resource_name}/29?fields=foo /{resource_name}/?fields=foo,bar

pagenum int64

The page number to fetch

pagesize int64

Number of records per page

filter string

The `filter` query parameter restricts the data return by the collection. To use it, supply an attribute to filter, followed by a filter expression. It uses the following syntax... attribute operator expression attribute - Any one of the valid attribute of the resource. operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded. == Equals (URL encoding is %3D%3D) != Not equals =@ Contains substring !@ Not contains substring expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded. For example, the following filter returns all users with last name `Gag`. /users?filter=last_name%3D%3Dgag Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR.

RelationshipRequest

A `RelationshipRequest` defines the url parameter for relationship resources

that are given in the links field of relationship object

FieldTypeLabelDescription
id int64

An unique identifier, for example: "/users/45/roles" or "/users/45/relationships/roles"

RelationshipRequestWithPagination

A `RelationshipRequestWithPagination` is a `RelationshipRequest` with pagination

FieldTypeLabelDescription
id int64

pagenum int64

pagesize int64

SimpleListRequest

A `SimpleListRequest` is identical to `ListRequest` except it does not support

pagination. The rest of the parameters are identical to `ListRequest` definition.

FieldTypeLabelDescription
include string

include query parameter to retrieve any particular or particular combination of relationships. Multiple include values are delimited by comma(,). For example, /{resource_name}/13?include=baz /{resource_name}/13?include=baz,bot

fields string

fields query parameter to retrieve any particular or any particular combination of attributes. Multiple fields values are delimited by comma(,). For example /{resource_name}/29?fields=foo /{resource_name}/?fields=foo,bar

filter string

The `filter` query parameter restricts the data return by the collection. To use it, supply an attribute to filter, followed by a filter expression. It uses the following syntax... attribute operator expression attribute - Any one of the valid attribute of the resource. operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded. == Equals (URL encoding is %3D%3D) != Not equals =@ Contains substring !@ Not contains substring expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded. For example, the following filter returns all users with last name `Gag`. /users?filter=last_name%3D%3Dgag Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR.

dictybase/identity/identity.proto

Top

CreateIdentityReq

FieldTypeLabelDescription
data CreateIdentityReq.Data

CreateIdentityReq.Data

FieldTypeLabelDescription
type string

resource name

attributes NewIdentityAttributes

Identity

FieldTypeLabelDescription
data IdentityData

links dictybase.api.jsonapi.Links

IdentityAttributes

Definition for various fields

FieldTypeLabelDescription
identifier string

An unique identifier provided by the third party. Generally it's an email id, however it could be something else specifically provided by an provider.

provider string

Name of the provider, for example, orcid, google, facebook etc.

user_id int64

The id of the user to which this identity is connected. This id could be used to fetch a complete user response from the user service

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

IdentityData

FieldTypeLabelDescription
type string

The resource name

id int64

Unique id

attributes IdentityAttributes

links dictybase.api.jsonapi.Links

IdentityProviderReq

FieldTypeLabelDescription
identifier string

An unique identifier provided by the third party. Generally it's an email id, however it could be something else specifically provided by an provider.

provider string

Name of the provider, for example, orcid, google, facebook etc.

NewIdentityAttributes

FieldTypeLabelDescription
identifier string

An unique identifier provided by the third party. Generally it's an email id, however it could be something else specifically provided by an provider.

provider string

Name of the provider, for example, orcid, google, facebook etc.

user_id int64

The id of the user to which this identity is connected. This id could be used to fetch a complete user response from the user service

IdentityService

The content service definition

Method NameRequest TypeResponse TypeDescription
GetIdentityFromProvider IdentityProviderReq Identity

Gets the specified identity

GetIdentity .dictybase.api.jsonapi.IdRequest Identity

ExistProviderIdentity IdentityProviderReq .dictybase.api.jsonapi.ExistResponse

CreateIdentity CreateIdentityReq Identity

Create a new identity

DeleteIdentity .dictybase.api.jsonapi.IdRequest .google.protobuf.Empty

Delete an existing identity

Healthz .dictybase.api.jsonapi.HealthzIdRequest .google.protobuf.Empty

Basic health check that always return success

dictybase/user/user.proto

Top

CreatePermissionRequest

FieldTypeLabelDescription
data CreatePermissionRequest.Data

CreatePermissionRequest.Data

The payload for new user

FieldTypeLabelDescription
type string

attributes PermissionAttributes

CreateRoleRequest

FieldTypeLabelDescription
data CreateRoleRequest.Data

CreateRoleRequest.Data

The payload for new role

FieldTypeLabelDescription
type string

attributes RoleAttributes

relationships NewRoleRelationships

CreateUserRequest

FieldTypeLabelDescription
data CreateUserRequest.Data

CreateUserRequest.Data

The payload for new user

FieldTypeLabelDescription
type string

attributes UserAttributes

relationships NewUserRelationships

ExistingRoleRelationships

The relationship definition for existing roles.

FieldTypeLabelDescription
permissions ExistingRoleRelationships.Permissions

users ExistingRoleRelationships.Users

ExistingRoleRelationships.Permissions

Relationships with permission definition.

FieldTypeLabelDescription
links dictybase.api.jsonapi.Links

data dictybase.api.jsonapi.Data repeated

ExistingRoleRelationships.Users

Relationships with user definition.

FieldTypeLabelDescription
links dictybase.api.jsonapi.Links

data dictybase.api.jsonapi.Data repeated

ExistingUserRelationships

The relationship definition for existing users.

FieldTypeLabelDescription
roles ExistingUserRelationships.Roles

ExistingUserRelationships.Roles

Relationships with role resource.

FieldTypeLabelDescription
links dictybase.api.jsonapi.Links

Http links with role resource.

data dictybase.api.jsonapi.Data repeated

A role [resource identifier object](http://jsonapi.org/format/#document-resource-identifier-objects).

NewRoleRelationships

The relationship definition for creating new roles.

FieldTypeLabelDescription
permissions NewRoleRelationships.Permissions

users NewRoleRelationships.Users

NewRoleRelationships.Permissions

FieldTypeLabelDescription
data dictybase.api.jsonapi.Data repeated

NewRoleRelationships.Users

FieldTypeLabelDescription
data dictybase.api.jsonapi.Data repeated

NewUserRelationships

The relationship definition for creating new users.

FieldTypeLabelDescription
roles NewUserRelationships.Roles

NewUserRelationships.Roles

Relationships with role resource.

FieldTypeLabelDescription
data dictybase.api.jsonapi.Data repeated

A role [resource identifier object](http://jsonapi.org/format/#document-resource-identifier-objects).

Permission

A resource for managing user permission.

FieldTypeLabelDescription
data PermissionData

links dictybase.api.jsonapi.Links

PermissionAttributes

A container for permission fields.

FieldTypeLabelDescription
permission string

Kind of permission, for example read, write, admin etc.

description string

Brief description of the type of permission.

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

resource string

Resource(object) on which this permission is granted

PermissionCollection

A permission collection resource.

FieldTypeLabelDescription
data PermissionData repeated

links dictybase.api.jsonapi.Links

PermissionData

A top level container for permission data.

FieldTypeLabelDescription
type string

The resource name.

id int64

Unique id.

attributes PermissionAttributes

links dictybase.api.jsonapi.Links

Role

A definition for managing user roles.

FieldTypeLabelDescription
data RoleData

links dictybase.api.jsonapi.Links

included google.protobuf.Any repeated

RoleAttributes

A container for role fields.

FieldTypeLabelDescription
role string

description string

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

RoleCollection

A role collection definition.

FieldTypeLabelDescription
data RoleData repeated

links dictybase.api.jsonapi.Links

included google.protobuf.Any repeated

RoleData

A top level container for role data.

FieldTypeLabelDescription
type string

id int64

attributes RoleAttributes

links dictybase.api.jsonapi.Links

relationships ExistingRoleRelationships

UpdatePermissionRequest

FieldTypeLabelDescription
data UpdatePermissionRequest.Data

id int64

Unique id, required

update_mask google.protobuf.FieldMask

An optional mask specifying which fields to update. Presence of this field allow partial updates.

UpdatePermissionRequest.Data

FieldTypeLabelDescription
type string

id int64

attributes PermissionAttributes

UpdateRoleRequest

FieldTypeLabelDescription
data UpdateRoleRequest.Data

id int64

Unique id, required

update_mask google.protobuf.FieldMask

An optional mask specifying which fields to update. Presence of this field allow partial updates.

UpdateRoleRequest.Data

FieldTypeLabelDescription
type string

id int64

attributes RoleAttributes

relationships ExistingRoleRelationships

UpdateUserRequest

FieldTypeLabelDescription
data UpdateUserRequest.Data

id int64

Unique id, required

update_mask google.protobuf.FieldMask

An optional mask specifying which fields to update. Presence of this field allow partial updates.

UpdateUserRequest.Data

FieldTypeLabelDescription
type string

id int64

attributes UserAttributes

relationships ExistingUserRelationships

User

A user resource.

FieldTypeLabelDescription
data UserData

links dictybase.api.jsonapi.Links

included google.protobuf.Any repeated

UserAttributes

A container for user fields.

FieldTypeLabelDescription
first_name string

First name.

last_name string

Last name.

email string

Email.

organization string

Organization in which the user belong.

group_name string

Group in which the user belong.

first_address string

Address.

second_address string

More address.

city string

City.

state string

State.

zipcode string

Zipcode.

country string

Country.

phone string

Phone no.

is_active bool

Current status of user.

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

UserCollection

A user collection resource.

FieldTypeLabelDescription
data UserData repeated

links dictybase.api.jsonapi.PaginationLinks

meta dictybase.api.jsonapi.Meta

included google.protobuf.Any repeated

UserData

A top level container for user data.

FieldTypeLabelDescription
type string

The resource name.

id int64

Unique id.

attributes UserAttributes

links dictybase.api.jsonapi.Links

relationships ExistingUserRelationships

PermissionService

The permission service definition

Method NameRequest TypeResponse TypeDescription
GetPermission .dictybase.api.jsonapi.GetRequestWithFields Permission

Gets the specified permission

ListPermissions .dictybase.api.jsonapi.SimpleListRequest PermissionCollection

List all permissions

CreatePermission CreatePermissionRequest Permission

Create an permission

UpdatePermission UpdatePermissionRequest Permission

Update an permission

DeletePermission .dictybase.api.jsonapi.DeleteRequest .google.protobuf.Empty

Delete an permission

RoleService

The role service definition

Method NameRequest TypeResponse TypeDescription
GetRole .dictybase.api.jsonapi.GetRequest Role

Gets the specified role

GetRelatedUsers .dictybase.api.jsonapi.RelationshipRequestWithPagination UserCollection

Gets all related users

GetRelatedPermissions .dictybase.api.jsonapi.RelationshipRequest PermissionCollection

Gets all related permissions

ListRoles .dictybase.api.jsonapi.SimpleListRequest RoleCollection

List all roles. Both *users* and *permissions* relationships are allowed in the include parameter.

CreateRole CreateRoleRequest Role

Create an role

CreateUserRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Create user relationship with role

CreatePermissionRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Create permission relationship with role

UpdateRole UpdateRoleRequest Role

Update an role

UpdateUserRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Update existing user relationship with role

UpdatePermissionRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Update existing permission relationship with role

DeleteRole .dictybase.api.jsonapi.DeleteRequest .google.protobuf.Empty

Delete an role

DeleteUserRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Delete existing user relationship with role

DeletePermissionRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Delete existing permission relationship with role

UserService

The user service definition

Method NameRequest TypeResponse TypeDescription
ExistUser .dictybase.api.jsonapi.IdRequest .dictybase.api.jsonapi.ExistResponse

Check the existence of user

GetUser .dictybase.api.jsonapi.GetRequest User

Gets the specified user

GetUserByEmail .dictybase.api.jsonapi.GetEmailRequest User

Gets the specified user by their email id

GetRelatedRoles .dictybase.api.jsonapi.RelationshipRequest RoleCollection

Gets all related roles

ListUsers .dictybase.api.jsonapi.ListRequest UserCollection

List all users. Only *roles* relationship is allowed for inclusion.

CreateUser CreateUserRequest User

Create an user

CreateRoleRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Create relationship links with roles

UpdateUser UpdateUserRequest User

UpdateRoleRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Update relationship links with roles

DeleteUser .dictybase.api.jsonapi.DeleteRequest .google.protobuf.Empty

Delete an user

DeleteRoleRelationship .dictybase.api.jsonapi.DataCollection .google.protobuf.Empty

Delete relationship links with roles

Healthz .dictybase.api.jsonapi.HealthzIdRequest .google.protobuf.Empty

Basic health check that always return success

dictybase/auth/auth.proto

Top

Auth

Definition of an individual auth response

FieldTypeLabelDescription
token string

JSON Web Token (JWT)

refresh_token string

Refresh token

identity dictybase.identity.Identity

Identity of user

user dictybase.user.User

User API data

NewLogin

FieldTypeLabelDescription
client_id string

Client ID received during application registration from every provider

scopes string

Scope of the application

state string

An unguessable random string. It is used to protect against cross-site request forgery attacks. It is passed to the provider during first login.

redirect_url string

The URL in the application where users will be sent after authorization, generally provided during the registration of the application.

code string

The code that is received as response from the first login

provider string

Third party oAuth provider

Validated Fields

Field Validations
client_id
  • string_not_empty: true
scopes
  • string_not_empty: true
state
  • string_not_empty: true
redirect_url
  • string_not_empty: true
code
  • string_not_empty: true
provider
  • string_not_empty: true

NewRefreshToken

FieldTypeLabelDescription
refresh_token string

Refresh token (unique ID)

NewRelogin

FieldTypeLabelDescription
refresh_token string

Refresh token

Validated Fields

Field Validations
refresh_token
  • string_not_empty: true

NewToken

FieldTypeLabelDescription
token string

JSON Web Token (JWT)

refresh_token string

Refresh token (unique ID)

Token

FieldTypeLabelDescription
token string

JSON Web Token (JWT)

refresh_token string

Refresh token (unique ID)

AuthService

The auth service specification

Method NameRequest TypeResponse TypeDescription
Login NewLogin Auth

Logs user into authserver

Relogin NewRelogin Auth

Logs user into authserver

GetRefreshToken NewToken Token

Retrieves new refresh token and JWT

Logout NewRefreshToken .google.protobuf.Empty

Logs user out of authserver

dictybase/content/content.proto

Top

Content

FieldTypeLabelDescription
data ContentData

ContentAttributes

Definition of various content fields

FieldTypeLabelDescription
name string

page name

slug string

page slug. Look here https://en.wikipedia.org/wiki/Semantic_URL#Slug to know about slug

created_by string

email id of the user who created the content

updated_by string

email id of the user who updated the content

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

content string

serialized page content(for example serialized draft js object)

namespace string

namespace for the page

ContentCollection

List of paginated contentz

FieldTypeLabelDescription
data ContentCollection.Data repeated

meta Meta

Validated Fields

Field Validations
meta
  • msg_exists: true

ContentCollection.Data

FieldTypeLabelDescription
id string

unique identifier for the annotation

attributes ContentAttributes

ContentData

FieldTypeLabelDescription
type string

The resource name

id int64

Unique id

attributes ContentAttributes

ContentIdRequest

FieldTypeLabelDescription
id int64

Unique id to identify content

ContentRequest

FieldTypeLabelDescription
slug string

Url slug Look here https://en.wikipedia.org/wiki/Semantic_URL#Slug to know about slug The slug name should be unique

ExistingContentAttributes

Fields that can be updated

Changing either or both of name and namespace

attributes alter the slug for the page

FieldTypeLabelDescription
updated_by string

email id of the user who is updating this content

content string

serialized page content(for example serialized draft js object)

Validated Fields

Field Validations
updated_by
  • string_not_empty: true
content
  • string_not_empty: true

ListParameters

ListParameters defines fields for manipulating output of Content collection

FieldTypeLabelDescription
cursor int64

A unique pointer to the next set of result in the list

limit int64

Maximum number of records that can be fetch per request

filter string

The `filter` field restricts the data return by the collection. To use it, supply one or multiple allowed fields to filter followed by a filter expression. It uses the following syntax... field_name operator expression The following fields of `ContentAttributes` definition are allowed to be used for filtering * name - page name (string). * slug - page slug (string). * namespace - page namespace (string). * created_by - Email id of the user (string) operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded for http request. Operators for strings =~ Contains substring !~ Not contains substring === Equals !== Not equals expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded for http request. filter: "name===annotation" filter: "slug=~frontpage" filter: "namespace===dsc" Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR. filter: "name~gallery;namespace===stockcenter;slug===intro"

Meta

Metadata definition for traversing the collection

FieldTypeLabelDescription
next_cursor int64

A unique pointer to the next set of result in the collection. Set the cursor value parameter to the value of next_cursor to retrieve the next set of collection using the same method

limit int64

Maximum number of records that can be fetch per request

NewContentAttributes

Definition for fields that are needed for storing the content

FieldTypeLabelDescription
name string

page name

created_by string

email of the user who is creating this content

content string

page content, expected to be serialized `JSON` string.

namespace string

namespace for the page, it is prepended to the name to generate an unique slug.

slug string

page slug. Look here https://en.wikipedia.org/wiki/Semantic_URL#Slug to know about slug

Validated Fields

Field Validations
name
  • regex: [a-z,A-z,0-9]+
created_by
  • string_not_empty: true
content
  • string_not_empty: true
namespace
  • string_not_empty: true
slug
  • string_not_empty: true

StoreContentRequest

Definition for storing new content

FieldTypeLabelDescription
data StoreContentRequest.Data

StoreContentRequest.Data

FieldTypeLabelDescription
type string

resource name

attributes NewContentAttributes

UpdateContentRequest

FieldTypeLabelDescription
data UpdateContentRequest.Data

id int64

update_mask google.protobuf.FieldMask

An optional mask specifying which fields to update. Presence of this field allow partial updates.

UpdateContentRequest.Data

FieldTypeLabelDescription
type string

resource name

id int64

unique id

attributes ExistingContentAttributes

ContentService

The content service definition

Method NameRequest TypeResponse TypeDescription
GetContentBySlug ContentRequest Content

Gets the content of specified page(slug)

GetContent ContentIdRequest Content

StoreContent StoreContentRequest Content

Store the content of a new page(slug)

UpdateContent UpdateContentRequest Content

Update the content of an existing page

DeleteContent ContentIdRequest .google.protobuf.Empty

Delete an existing page along with its content

ListContents ListParameters ContentCollection

List contents using pagination, ten entries are retrieved by default

dictybase/feature_annotation/feature_annotation.proto

Top

AddTagRequest

AddTagRequest specifies a feature annotation and a tag to add to it.

FieldTypeLabelDescription
id string

ID of feature annotation to modify

tag TagPropertyCreate

Tag to be added

DbLink represents a reference to an external bioinformatics database entry.

FieldTypeLabelDescription
primary_id string

Identifier of the linked database

version int64

a number which differentiates between versions of the same object. Higher numbers are considered to be later and more relevant

database string

Source database

linktype string

Type of this dblink, for example 'protein'

url string

URL that is associated with this link

label string

A short name that is a possible alternative to the database name which could be used for display.

Dbxref

Dbxref represents a deprecated cross-reference to an external database.

FieldTypeLabelDescription
dbxref_id string

Identifier

version int64

database string

Source database

DeleteFeatureAnnotationRequest

DeleteFeatureAnnotationRequest specifies a feature annotation to delete and

how to delete it.

FieldTypeLabelDescription
id string

unique identifier for the feature annotation

purge bool

flag to indicate whether the entry will be wiped or turned obsolete(soft delete)

FeatureAnnotation

FeatureAnnotation represents a complete feature annotation record with all

its metadata.

FieldTypeLabelDescription
type string

id string

unique identifier for the feature annotation

attributes FeatureAnnotationAttributes

created_by string

email id of the user who created the content

updated_by string

email id of the user who updated the content

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

is_obsolete bool

Toggle the obsolete status

version int64

Deprecated.

Fields with deprecated option

Name Option
version

true

FeatureAnnotationAttributes

FeatureAnnotationAttributes defines the core properties and metadata of a

feature annotation.

FieldTypeLabelDescription
name string

Short human readable textual name

synonyms string repeated

Alternate list of names

publications string repeated

List of publications(doi identifiers)

pubmed string repeated

List of pubmed id

dbxrefs Dbxref repeated

Deprecated.

dblinks DbLink repeated

Cross references to other databases

properties TagProperty repeated

Bucket of key value pair data

Fields with deprecated option

Name Option
dbxrefs

true

FeatureAnnotationId

FeatureAnnotationId is used to uniquely identify a feature annotation.

FieldTypeLabelDescription
id string

unique identifier for the feature annotation

FeatureAnnotationUpdate

FeatureAnnotationUpdate contains the fields needed to update an existing

feature annotation.

FieldTypeLabelDescription
type string

id string

attributes FeatureAnnotationAttributes

updated_by string

email id of the user who updated the content

is_obsolete bool

Toggle the obsolete status

NewFeatureAnnotation

NewFeatureAnnotation contains all the information needed to create a new

feature annotation.

FieldTypeLabelDescription
type string

attributes FeatureAnnotationAttributes

created_by string

email id of the user who created the content

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

is_obsolete bool

Toggle the obsolete status

version int64

Deprecated.

id string

unique identifier for the feature annotation

updated_by string

Fields with deprecated option

Name Option
version

true

RemoveTagRequest

RemoveTagRequest specifies a feature annotation and a tag to remove from it.

FieldTypeLabelDescription
id string

ID of feature annotation to modify

tag string

Tag to remove

TagProperty

TagProperty represents a key-value pair structure with metadata for storing

custom attributes.

FieldTypeLabelDescription
tag string

value string

created_by string

email id of the user who created the tag

updated_by string

email id of the user who updated the tag

created_at google.protobuf.Timestamp

Timestamp for creation and update

updated_at google.protobuf.Timestamp

TagPropertyCreate

TagPropertyCreate contains the minimal information needed to create a new tag

property.

FieldTypeLabelDescription
tag string

value string

created_by string

email id of the user who created the tag

TagPropertyUpdate

TagPropertyUpdate contains the information needed to update an existing tag

property.

FieldTypeLabelDescription
tag string

value string

updated_by string

email id of the user who created the tag

UpdateTagRequest

UpdateTagRequest specifies a feature annotation and updated tag values.

FieldTypeLabelDescription
id string

ID of feature annotation to modify

tag TagPropertyUpdate

Updated tag values

FeatureAnnotationService

The feature annotation service specification

Method NameRequest TypeResponse TypeDescription
CreateFeatureAnnotation NewFeatureAnnotation FeatureAnnotation

Create a feature annotation

GetFeatureAnnotation FeatureAnnotationId FeatureAnnotation

Retrieves the specified feature annotation

UpdateFeatureAnnotation FeatureAnnotationUpdate FeatureAnnotation

Update an existing feature annotation. Any given tag will be appended to the existing tags

DeleteFeatureAnnotation DeleteFeatureAnnotationRequest .google.protobuf.Empty

Delete an existing feature annotation

AddTag AddTagRequest FeatureAnnotation

Add tag to an existing feature annotation

UpdateTag UpdateTagRequest FeatureAnnotation

Update an existing tag in a feature annotation

RemoveTag RemoveTagRequest FeatureAnnotation

Remove a tag from a feature annotation

dictybase/organism/organism.proto

Top

DeleteOrganismRequest

FieldTypeLabelDescription
id int64

unique identifier for the organism

NewOrganism

FieldTypeLabelDescription
attributes OrganismAttributes

created_by string

email id of the user who created the content

created_at google.protobuf.Timestamp

Organism

FieldTypeLabelDescription
attributes OrganismAttributes

created_by string

email id of the user who created the content

updated_by string

email id of the user who updated the content

created_at google.protobuf.Timestamp

updated_at google.protobuf.Timestamp

organism_id int64

Unique identifier for the organism

OrganismAttributes

FieldTypeLabelDescription
abbreviation string

Abbreviated name of the organism

common_name string

Common name of the organism

genus string

Genus name

species string

Species name

OrganismCollection

FieldTypeLabelDescription
data Organism repeated

Collection of organisms

OrganismId

FieldTypeLabelDescription
id int64

unique identifier for the organism

OrganismUpdate

FieldTypeLabelDescription
id string

unique identifier for the organism

attributes OrganismAttributes

updated_by string

email id of the user who updated the content

OrganismService

The organism service specification

Method NameRequest TypeResponse TypeDescription
CreateOrganism NewOrganism Organism

Create a new organism

GetOrganism OrganismId Organism

Retrieve an organism by ID

UpdateOrganism OrganismUpdate Organism

Update an existing organism

DeleteOrganism DeleteOrganismRequest .google.protobuf.Empty

Delete an organism

ListOrganisms .google.protobuf.Empty OrganismCollection

List all organisms

dictybase/feature_annotation/feature_annotation_organism.proto

Top

Message for linking feature to organism

FieldTypeLabelDescription
organism_id int64

feature_id string

OrganismFeatureUpdate

Message for updating organism-feature relationship

FieldTypeLabelDescription
feature_id string

new_organism_id int64

OrganismFeatureService

The organism-feature relationship service specification

Method NameRequest TypeResponse TypeDescription
LinkFeatureToOrganism OrganismFeatureLink .google.protobuf.Empty

Link a feature annotation to an organism

GetFeatureOrganism FeatureAnnotationId .dictybase.organism.Organism

Get organism for a feature

UpdateFeatureOrganism OrganismFeatureUpdate .google.protobuf.Empty

Update feature's organism link

RemoveFeatureOrganism FeatureAnnotationId .google.protobuf.Empty

Remove feature's organism link

dictybase/order/order.proto

Top

ExistingOrder

Definition for loading an existing order

FieldTypeLabelDescription
data ExistingOrder.Data

Validated Fields

Field Validations
data
  • msg_exists: true

ExistingOrder.Data

FieldTypeLabelDescription
type string

Resource name, by default should be order

attributes ExistingOrderAttributes

ExistingOrderAttributes

Defines attributes for loading an existing order

FieldTypeLabelDescription
created_at google.protobuf.Timestamp

Time order was created

updated_at google.protobuf.Timestamp

Time order was updated

purchaser string

Person who is ordering (logged in user)

items string repeated

List of items in the order, in this case it will be mostly biological stocks such as plasmids and strains

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true
purchaser
  • string_not_empty: true
items
  • repeated_count_min: 1

ListParameters

ListParameters defines fields for manipulating output of Order collection

FieldTypeLabelDescription
cursor int64

A unique pointer to the next set of result in the list

limit int64

Maximum number of records that can be fetch per request

filter string

The `filter` field restricts the data return by the collection. To use it, supply one or multiple allowed fields to filter followed by a filter expression. It uses the following syntax... field_name operator expression The following fields of `OrderAttributes` definition are allowed to be used for filtering * item - Items that are part of order (string). * courier - The courier used for delivery (string) * payment - Type of payment being used (string) * status - The status of the order (string) * created_at - Date the items are ordered (number), can be in the following formats: YYYY-MM-DD, YYYY-MM, YYYY field_name - Any one of the allowed field_name of the `OrderAttributes` definition. operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded for http request. Operators for strings =~ Contains substring !~ Not contains substring === Equals !== Not equals Operators for number == Equals > Greater than < Less than <= Less than equal to >= Greater than equal to Operators for dates $== Equals $> Greater than $< Less than $<= Less than equal to $>= Greater than equal to expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded for http request. filter: "status===Shipped" filter: "courier===FedEx" Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR. filter: "courier===FedEx;payment===Credit" filter: "created_at$>=20181201" The sort field allow to sort the data return by the collection based on fields of `OrderAttributes. To use it, supply a comma separated one or more allowed field from the definition of `OrderAttributes`.

Meta

Metadata definition for traversing the collection

FieldTypeLabelDescription
next_cursor int64

A unique pointer to the next set of result in the collection. Set the cursor value parameter to the value of next_cursor to retrieve the next set of collection using the same method

limit int64

Maximum number of records that can be fetch per request

total int64

Total number of records in the collection.

NewOrder

Definition for creating a new order

FieldTypeLabelDescription
data NewOrder.Data

Validated Fields

Field Validations
data
  • msg_exists: true

NewOrder.Data

FieldTypeLabelDescription
type string

Resource name, by default should be order

attributes NewOrderAttributes

NewOrderAttributes

Defines attributes for creating a new order

FieldTypeLabelDescription
courier string

Name of courier for delivery

courier_account string

Account identification used for courier service

comments string

Any comments about the order

payment string

Type of payment being used

purchase_order_num string

Order number for purchase

status OrderStatus

Status of order

consumer string

Person (user) who is receiving the stocks in mail

payer string

Person (user) who is paying for the stocks

purchaser string

Person who is ordering (logged in user)

items string repeated

List of items in the order, in this case it will be mostly biological stocks such as plasmids and strains

Validated Fields

Field Validations
courier
  • string_not_empty: true
courier_account
  • string_not_empty: true
payment
  • string_not_empty: true
purchase_order_num
  • string_not_empty: true
status
  • msg_exists: true
consumer
  • string_not_empty: true
payer
  • string_not_empty: true
purchaser
  • string_not_empty: true
items
  • repeated_count_min: 1

Order

Definition of an individual order

FieldTypeLabelDescription
data Order.Data

Validated Fields

Field Validations
data
  • msg_exists: true

Order.Data

FieldTypeLabelDescription
type string

Resource name, by default should be order

id string

Unique identifier for the order

attributes OrderAttributes

OrderAttributes

Definition of various order attributes

FieldTypeLabelDescription
created_at google.protobuf.Timestamp

Timestamp for creation

updated_at google.protobuf.Timestamp

Timestamp for update

courier string

Name of courier for delivery

courier_account string

Account identification used for courier service

comments string

Any comments about the order

payment string

Type of payment being used

purchase_order_num string

Order number for purchase

status OrderStatus

Status of order

consumer string

Person (user) who is receiving the stocks in mail

payer string

Person (user) who is paying for the stocks

purchaser string

Person who is ordering (logged in user)

items string repeated

List of items in the order, in this case it will be mostly biological stocks such as plasmids and strains

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true

OrderCollection

List of orders

FieldTypeLabelDescription
data OrderCollection.Data repeated

meta Meta

Validated Fields

Field Validations
data
  • repeated_count_min: 1
meta
  • msg_exists: true

OrderCollection.Data

FieldTypeLabelDescription
type string

Resource name, by default should be order

id string

Unique identifier for the order

attributes OrderAttributes

OrderId

FieldTypeLabelDescription
id string

Unique identifier for the order

Validated Fields

Field Validations
id
  • string_not_empty: true

OrderUpdate

Definition for updating an existing order

FieldTypeLabelDescription
data OrderUpdate.Data

Validated Fields

Field Validations
data
  • msg_exists: true

OrderUpdate.Data

FieldTypeLabelDescription
type string

Resource name, by default should be order

id string

Unique identifier for the order

attributes OrderUpdateAttributes

Validated Fields

Field Validations
id
  • string_not_empty: true

OrderUpdateAttributes

Defines attributes for updating an existing order

FieldTypeLabelDescription
courier string

Name of courier for delivery

courier_account string

Account identification used for courier service

comments string

Any comments about the order

payment string

Type of payment being used

purchase_order_num string

Order number for purchase

status OrderStatus

Status of order

items string repeated

List of items in the order, in this case it will be mostly biological stocks such as plasmids and strains

OrderStatus

The pre-defined labels for order status

NameNumberDescription
IN_PREPARATION 0

GROWING 1

CANCELLED 2

SHIPPED 3

OrderService

The order service specification

Method NameRequest TypeResponse TypeDescription
GetOrder OrderId Order

Retrieves order by ID

CreateOrder NewOrder Order

Create a new order

UpdateOrder OrderUpdate Order

Update an existing order

ListOrders ListParameters OrderCollection

List orders using pagination, ten entries are retrieved by default

LoadOrder ExistingOrder Order

Load existing order

PrepareForOrder .google.protobuf.Empty .google.protobuf.Empty

Clear database before loading existing orders

dictybase/publication/publication.proto

Top

Author

Definition of an individual author

FieldTypeLabelDescription
last_name string

Last name of the author

first_name string

First name of the author

initials string

Any initials of the author

rank int64

Ranking of the author

ListPublicationParameters

Defines fields for manipulating output of Publication collection

FieldTypeLabelDescription
cursor int64

A unique pointer to the next set of result in the list

limit int64

Maximum number of records that can be fetch per request

filter string

The `filter` field restricts the data return by the collection. To use it, supply one or multiple allowed fields to filter followed by a filter expression. It uses the following syntax... field_name operator expression The following fields of `PublicationAttributes` definition are allowed to be used for filtering * journal - Journal where the publication was published (string) * year - Year publication was published (string) * pub_date - Date of publication (string) * pub_type - Type of publication (string) * source - Source of the publication (string) * issue - Issue of the publication (string) * status - Status of the publication (string) * author - Authors of the publication (string) field_name - Any one of the allowed field_name of the `PublicationAttributes` definition. operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded for http request. Operators for strings =~ Contains substring !~ Not contains substring === Equals !== Not equals Operators for number == Equals > Greater than < Less than =< Less than equal to >= Greater than equal to expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded for http request. filter: "pub_type===journal_article" filter: "source===pubmed" Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR. filter: "year==2008;journal===Genesis" Can also accept multiple authors. filter: "author===Vandelay;author===VanNostrand" The sort field allow to sort the data return by the collection based on fields of `PublicationAttributes. To use it, supply a comma separated one or more allowed field from the definition of `PublicationAttributes`.

Meta

Metadata definition for traversing the collection

FieldTypeLabelDescription
next_cursor int64

A unique pointer to the next set of result in the collection. Set the cursor value parameter to the value of next_cursor to retrieve the next set of collection using the same method

limit int64

Maximum number of records that can be fetch per request

total int64

Total number of records in the collection.

NewPublication

Definition for creating a new publication

FieldTypeLabelDescription
data NewPublication.Data

Validated Fields

Field Validations
data
  • msg_exists: true

NewPublication.Data

FieldTypeLabelDescription
type string

Resource name, by default should be publication

attributes PublicationAttributes

Publication

Definition of an individual publication

FieldTypeLabelDescription
data Publication.Data

Validated Fields

Field Validations
data
  • msg_exists: true

Publication.Data

FieldTypeLabelDescription
type string

Resource name, by default should be publication

id string

Unique identifier for the publication

attributes PublicationAttributes

PublicationAttributes

Definition of various publication attributes

FieldTypeLabelDescription
doi string

Digital object identifier for publication

title string

Title of publication

abstract string

Abstract of publication

journal string

Journal where the publication was published

pub_date google.protobuf.Timestamp

Date publication was published

volume string

Volume of the publication

pages string

Pages containing the publication

issn string

International Standard Serial Number of publication

pub_type string

Type of publication (i.e. "journal_article")

source string

Source of the publication (i.e. "pubmed")

issue string

Issue of the publication

status string

Status of the publication

authors Author repeated

List of authors of the publication

PublicationCollection

List of publications

FieldTypeLabelDescription
data PublicationCollection.Data repeated

meta Meta

Validated Fields

Field Validations
data
  • repeated_count_min: 1
meta
  • msg_exists: true

PublicationCollection.Data

FieldTypeLabelDescription
type string

Resource name, by default should be publication

id string

Unique identifier for the publication

attributes PublicationAttributes

PublicationId

FieldTypeLabelDescription
id string

Unique identifier for the publication

Validated Fields

Field Validations
id
  • string_not_empty: true

PublicationUpdate

Definition for updating an existing publication

FieldTypeLabelDescription
data PublicationUpdate.Data

Validated Fields

Field Validations
data
  • msg_exists: true

PublicationUpdate.Data

FieldTypeLabelDescription
type string

Resource name, by default should be publication

id string

Unique identifier for the publication

attributes PublicationUpdateAttributes

Validated Fields

Field Validations
id
  • string_not_empty: true

PublicationUpdateAttributes

Defines attributes for updating an existing publication

FieldTypeLabelDescription
pub_date google.protobuf.Timestamp

Date of publication

volume string

Volume of the publication

pages string

Pages containing the publication

pub_type string

Type of publication (i.e. "journal_article")

source string

Source of the publication (i.e. "pubmed")

status string

Status of the publication

authors Author repeated

List of authors of the publication

PublicationService

The publication service specification

Method NameRequest TypeResponse TypeDescription
GetPublication PublicationId Publication

Retrieves publication by ID

CreatePublication NewPublication Publication

Create new publication

UpdatePublication PublicationUpdate Publication

Update an existing publication

DeletePublication PublicationId .google.protobuf.Empty

Delete an existing publication

ListPublications ListPublicationParameters PublicationCollection

List all publications

dictybase/stock/stock.proto

Top

ExistingPlasmid

Definition for loading an existing plasmid

FieldTypeLabelDescription
data ExistingPlasmid.Data

Validated Fields

Field Validations
data
  • msg_exists: true

ExistingPlasmid.Data

FieldTypeLabelDescription
type string

Resource name

id string

Existing plasmid ID

attributes ExistingPlasmidAttributes

ExistingPlasmidAttributes

Defines attributes for loading an existing plasmid

FieldTypeLabelDescription
created_at google.protobuf.Timestamp

Timestamp for creation

updated_at google.protobuf.Timestamp

Timestamp for update

created_by string

User who created stock entry

updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

depositor string

Depositor of the stock

publications string repeated

List of related publications

image_map string

Image map for the plasmid

sequence string

Sequence for the plasmid

name string

Unambiguous name for the plasmid

dicty_plasmid_property string

dictybase specific plasmid property that will map to dicty_plasmid_keyword ontology

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true
created_by
  • string_not_empty: true
name
  • string_not_empty: true

ExistingStrain

Definition for loading an existing strain

FieldTypeLabelDescription
data ExistingStrain.Data

Validated Fields

Field Validations
data
  • msg_exists: true

ExistingStrain.Data

FieldTypeLabelDescription
type string

Resource name

id string

Existing strain ID

attributes ExistingStrainAttributes

ExistingStrainAttributes

Defines attributes for loading an existing strain

FieldTypeLabelDescription
created_at google.protobuf.Timestamp

Timestamp for creation

updated_at google.protobuf.Timestamp

Timestamp for update

created_by string

User who created stock entry

updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

depositor string

Depositor of the stock

publications string repeated

List of related publications

label string

Descriptor for the strain, a quick overview of its key genetic modifications

species string

Species of the strain

plasmid string

Related plasmid for the strain

parent string

Parent of the strain

names string repeated

List of names for the strain

dicty_strain_property string

dictybase specific strain property that will map to dicty_strain_property ontology

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true
created_by
  • string_not_empty: true
updated_by
  • string_not_empty: true
label
  • string_not_empty: true
species
  • string_not_empty: true

Meta

Metadata definition for traversing the collection

FieldTypeLabelDescription
next_cursor int64

A unique pointer to the next set of result in the collection. Set the cursor value parameter to the value of next_cursor to retrieve the next set of collection using the same method

limit int64

Maximum number of records that can be fetch per request

total int64

Total number of records in the collection.

NewPlasmid

Definition for creating a new plasmid

FieldTypeLabelDescription
data NewPlasmid.Data

Validated Fields

Field Validations
data
  • msg_exists: true

NewPlasmid.Data

FieldTypeLabelDescription
type string

Resource name

attributes NewPlasmidAttributes

NewPlasmidAttributes

Defines attributes for creating a new plasmid

FieldTypeLabelDescription
created_by string

User who created stock entry

updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

depositor string

Depositor of the stock

publications string repeated

List of related publications

image_map string

Image map for the plasmid

sequence string

Sequence for the plasmid

name string

Unambiguous name for the plasmid

dicty_plasmid_property string

dictybase specific plasmid property that will map to dicty_plasmid_keyword ontology

Validated Fields

Field Validations
created_by
  • string_not_empty: true
updated_by
  • string_not_empty: true
depositor
  • string_not_empty: true
name
  • string_not_empty: true

NewStrain

Definition for creating a new strain

FieldTypeLabelDescription
data NewStrain.Data

Validated Fields

Field Validations
data
  • msg_exists: true

NewStrain.Data

FieldTypeLabelDescription
type string

Resource name

attributes NewStrainAttributes

NewStrainAttributes

Defines attributes for creating a new strain

FieldTypeLabelDescription
created_by string

User who created stock entry

updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

depositor string

Depositor of the stock

publications string repeated

List of related publications

label string

Descriptor for the strain, a quick overview of its key genetic modifications

species string

Species of the strain

plasmid string

Related plasmid for the strain

parent string

Parent of the strain

names string repeated

List of names for the strain

dicty_strain_property string

dictybase specific strain property that will map to dicty_strain_property ontology

Validated Fields

Field Validations
created_by
  • string_not_empty: true
updated_by
  • string_not_empty: true
depositor
  • string_not_empty: true
label
  • string_not_empty: true
species
  • string_not_empty: true

Plasmid

Definition of an individual plasmid

FieldTypeLabelDescription
data Plasmid.Data

Validated Fields

Field Validations
data
  • msg_exists: true

Plasmid.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique identifier for the plasmid

attributes PlasmidAttributes

PlasmidAttributes

Definition of various stock attributes

FieldTypeLabelDescription
created_at google.protobuf.Timestamp

Timestamp for creation

updated_at google.protobuf.Timestamp

Timestamp for update

created_by string

User who created stock entry

updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

depositor string

Depositor of the stock

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

publications string repeated

List of related publications

image_map string

Image map for the plasmid

sequence string

Sequence for the plasmid

name string

Unambiguous name for the plasmid

dicty_plasmid_property string

dictybase specific plasmid property that will map to dicty_plasmid_keyword ontology

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true
created_by
  • string_not_empty: true
updated_by
  • string_not_empty: true
name
  • string_not_empty: true

PlasmidCollection

List of plasmids

FieldTypeLabelDescription
data PlasmidCollection.Data repeated

meta Meta

Validated Fields

Field Validations
meta
  • msg_exists: true

PlasmidCollection.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique identifier for the stock

attributes PlasmidAttributes

PlasmidUpdate

Definition for creating a new plasmid

FieldTypeLabelDescription
data PlasmidUpdate.Data

Validated Fields

Field Validations
data
  • msg_exists: true

PlasmidUpdate.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique ID for plasmid

attributes PlasmidUpdateAttributes

Validated Fields

Field Validations
id
  • string_not_empty: true

PlasmidUpdateAttributes

Defines attributes for updating a plasmid

FieldTypeLabelDescription
updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

depositor string

Depositor of the stock

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

publications string repeated

List of related publications

image_map string

Image map for the plasmid

sequence string

Sequence for the plasmid

name string

Unambiguous name for the plasmid

dicty_plasmid_property string

dictybase specific plasmid property that will map to dicty_plasmid_keyword ontology

Validated Fields

Field Validations
updated_by
  • string_not_empty: true

StockId

FieldTypeLabelDescription
id string

Unique identifier for the stock

Validated Fields

Field Validations
id
  • string_not_empty: true

StockIdList

Definition for list of unique stock identifier

FieldTypeLabelDescription
id string repeated

Validated Fields

Field Validations
id
  • regex: ^DB(P|S)[0-9]{5,}$

StockParameters

StockParameters defines fields for manipulating output of Stock collection

FieldTypeLabelDescription
cursor int64

A unique pointer to the next set of result in the list (default is 0)

limit int64

Maximum number of records that can be fetch per request (default is 10)

filter string

The `filter` field restricts the data return by the collection. To use it, supply one or multiple allowed fields to filter followed by a filter expression. It uses the following syntax... field_name operator expression The following fields of `StockAttributes` definition are allowed to be used for filtering * depositor - Depositor of the stock (string) * parent - Parental strain (string) (currently not implemented) * plasmid - Related plasmid for the strain (string) * species - The species of the strain (string) * summary - Summary of the stock (string) * name - Name used for strain (string), searches in the "names" attribute * descriptor - Descriptor for the strain (string), searches in the "label" attribute * plasmid_name - Name used for plasmid (string) * created_at - Date the stock was created (number), can be in the following formats: YYYY-MM-DD, YYYY-MM, YYYY * updated_at - Date the stock was updated (number), can be in the following formats: YYYY-MM-DD, YYYY-MM, YYYY field_name - Any one of the allowed field_name of the `StockAttributes` definition. operator - Defines the type of filter match to use. It could be any of the following four and all of them should be URL-encoded for http request. Operators for strings =~ Contains substring !~ Not contains substring === Equals != Not equals Operators for number == Equals > Greater than < Less than <= Less than equal to >= Greater than equal to Operators for dates $== Equals $> Greater than $< Less than $<= Less than equal to $>= Greater than equal to Operators for items in arrays @=~ Contains substring @!~ Not contains substring (not implemented yet) @== Equals @!= Not equals expression - The value that will be included or excluded from the result. URL-reserved characters must be URL-encoded for http request. filter: "created_at$>=2018-12-01" filter: "depositor===Costanza" Filter can be combined using OR or AND boolean logic. * The OR is represented using a comma(,). * The AND is represented using a semi-colon(;). * AND and OR operators can be combined and AND takes precedence over OR. filter: "depositor===Benes;created_at$>=2018-12-01" The sort field allow to sort the data return by the collection based on fields of `StockAttributes. To use it, supply a comma separated one or more allowed field from the definition of `StockAttributes`.

Strain

Definition of an individual strain

FieldTypeLabelDescription
data Strain.Data

Validated Fields

Field Validations
data
  • msg_exists: true

Strain.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique identifier for the strain

attributes StrainAttributes

StrainAttributes

Definition of various strain attributes

FieldTypeLabelDescription
created_at google.protobuf.Timestamp

Timestamp for creation

updated_at google.protobuf.Timestamp

Timestamp for update

created_by string

User who created stock entry

updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

depositor string

Depositor of the stock

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

publications string repeated

List of related publications

label string

Descriptor for the strain, a quick overview of its key genetic modifications

species string

Species of the strain

plasmid string

Related plasmid for the strain

parent string

Parent of the strain

names string repeated

List of names for the strain

dicty_strain_property string

dictybase specific strain property that will map to dicty_strain_property ontology

Validated Fields

Field Validations
created_at
  • msg_exists: true
updated_at
  • msg_exists: true
created_by
  • string_not_empty: true
updated_by
  • string_not_empty: true
label
  • string_not_empty: true
species
  • string_not_empty: true

StrainCollection

List of strains

FieldTypeLabelDescription
data StrainCollection.Data repeated

meta Meta

Validated Fields

Field Validations
meta
  • msg_exists: true

StrainCollection.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique identifier for the stock

attributes StrainAttributes

StrainList

List of strains without any metadata for pagination

FieldTypeLabelDescription
data StrainList.Data repeated

StrainList.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique identifier for the stock

attributes StrainAttributes

StrainUpdate

Definition for creating a new strain

FieldTypeLabelDescription
data StrainUpdate.Data

Validated Fields

Field Validations
data
  • msg_exists: true

StrainUpdate.Data

FieldTypeLabelDescription
type string

Resource name

id string

Unique ID for strain

attributes StrainUpdateAttributes

Validated Fields

Field Validations
id
  • string_not_empty: true

StrainUpdateAttributes

Defines attributes for updating a strain

FieldTypeLabelDescription
updated_by string

User who updated stock entry

summary string

Summary of the stock

editable_summary string

Editable version of the stock summary (Slate JSON format)

depositor string

Depositor of the stock

genes string repeated

List of associated genes

dbxrefs string repeated

List of database cross references

publications string repeated

List of related publications

label string

Descriptor for the strain, a quick overview of its key genetic modifications

species string

Species of the strain

plasmid string

Related plasmid for the strain

parent string

Parent of the strain

names string repeated

List of names for the strain

dicty_strain_property string

dictybase specific strain property that will map to dicty_strain_property ontology

Validated Fields

Field Validations
updated_by
  • string_not_empty: true

StockService

The stock service specification

Method NameRequest TypeResponse TypeDescription
GetStrain StockId Strain

Retrieves strain by ID

GetPlasmid StockId Plasmid

Retrieves stock by ID

CreateStrain NewStrain Strain

Create a new strain

CreatePlasmid NewPlasmid Plasmid

Create a new plasmid

UpdateStrain StrainUpdate Strain

Update an existing strain

UpdatePlasmid PlasmidUpdate Plasmid

Update an existing plasmid

RemoveStock StockId .google.protobuf.Empty

Remove an existing stock

ListStrains StockParameters StrainCollection

List strains using pagination, ten entries are retrieved by default

ListStrainsByIds StockIdList StrainList

List strains using strain id without any pagination

ListPlasmids StockParameters PlasmidCollection

List plasmids using pagination, ten entries are retrieved by default

LoadStrain ExistingStrain Strain

Load existing strain

LoadPlasmid ExistingPlasmid Plasmid

Load existing plasmid

OboJSONFileUpload .dictybase.api.upload.FileUploadRequest stream .dictybase.api.upload.FileUploadResponse

Upload obojson formatted file through client side streaming

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)