Organism Specific ID Service vv1.0.0

link

Resources

get /organisms

Get Organisms  lock

Returns an array of the organisms currently registered with the OSID service.

The results may be optionally filtered to a single result by use of the organismName query parameter.

Parameters chevron_right expand_more

ParameterTypeDescription
Query
organismNamestring

Name of the organism to look up. This field supports wildcards using the asterisk (*) character.

createdAfter ZeroBasedLonginteger

Unix timestamp of the earliest records this query should match. No records created before this timestamp will be returned.

Max. value: 9223372036854776000

Format: int64

Inherits: integer

createdBefore ZeroBasedLonginteger

Unix timestamp of the latest records this query should match. No records created after this timestamp will be returned.

Max. value: 9223372036854776000

Format: int64

Inherits: integer

createdBystring

Filter results on the ID or name of the user that created the records.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/organisms?organismName=<value>&ZeroBasedLong=<value>&ZeroBasedLong=<value>&createdBy=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] OrganismResponseobject

Inherits: object

[].organismId* organismIdinteger

Internal primary key value assigned to this organism record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].organismName*string

Min. length: 3

[].template* templatestring

Currently assigned gene ID template string.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

[].geneIntStart* geneIntStartinteger

Starting point for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].transcriptIntStart* transcriptIntStartinteger

Starting point for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].geneIntCurrent* geneIntCurrentinteger

Current value for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].transcriptIntCurrent* transcriptIntCurrentinteger

Current value for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].createdOn*datetime

Timestamp of when this record was created.

[].createdBy* createdByinteger

User ID of the user/app that created this record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Response Body

[
  {
    "organismId": 24,
    "organismName": "Plasmodium falciparum 3D7",
    "template": "PF3D7_%07d",
    "geneIntStart": 1500000,
    "geneIntCurrent": 1501203,
    "transcriptIntStart": 1,
    "transcriptIntCurrent": 57,
    "createdOn": "2020-08-25T11:43:16Z",
    "createdBy": 26
  }
]

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /organisms

 lock

Registers a new organism with the OSID service, returning the ID of the newly registered organism record on success.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  undefined/organisms

Request Body chevron_right expand_more

Organism Record Create/Update Request Body OrganismPostRequest

application/json

Inherits: object

ParameterTypeDescription
organismName*string

Min. length: 3

template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Starting point for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntStart transcriptIntStartinteger

Starting point for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Default value: 1

Inherits: integer

Request Body

{
  "organismName": "Plasmodium falciparum 3D7",
  "template": "PF3D7_%07d",
  "geneIntStart": 1500000,
  "transcriptIntStart": 1
}

200 OK chevron_right expand_more

OneBasedLong OneBasedLong

application/json

Primary key value for the newly created organism record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /organisms/{organism-id}

 lock

Looks up and returns the details of a single organism record by record id.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
organism-id*string

May be either the primary key value for the specific organism or the organism name.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/organisms/{organism-id}

200 OK chevron_right expand_more

OrganismResponse OrganismResponse

application/json

Inherits: object

ParameterTypeDescription
organismId* organismIdinteger

Internal primary key value assigned to this organism record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

organismName*string

Min. length: 3

template* templatestring

Currently assigned gene ID template string.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Starting point for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntStart* transcriptIntStartinteger

Starting point for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

geneIntCurrent* geneIntCurrentinteger

Current value for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntCurrent* transcriptIntCurrentinteger

Current value for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

createdOn*datetime

Timestamp of when this record was created.

createdBy* createdByinteger

User ID of the user/app that created this record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Response Body

{
  "organismId": 24,
  "organismName": "Plasmodium falciparum 3D7",
  "template": "PF3D7_%07d",
  "geneIntStart": 1500000,
  "geneIntCurrent": 1501203,
  "transcriptIntStart": 1,
  "transcriptIntCurrent": 57,
  "createdOn": "2020-08-25T11:43:16Z",
  "createdBy": 26
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /organisms/{organism-id}

 lock

Updates a specific organism record by replacing specific fields with the new values in the request body.

Put requests will be rejected if they violate the following rules:

  1. The new startingInt value must not be lower than the organism record's currentInt value.
  2. The template value must not be null or empty.
  3. The template value must contain a single printf integer placeholder. (See the Java string formatting cheatsheet)
  4. The organismName value must not be null or empty.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
organism-id*string

May be either the primary key value for the specific organism or the organism name.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X PUT \
  -H "Content-type: application/json"
  -d @body.json \
  undefined/organisms/{organism-id}

Request Body chevron_right expand_more

Organism Record Create/Update Request Body OrganismPutRequest

application/json

Inherits: object

ParameterTypeDescription
template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart geneIntStartinteger

Starting point for the gene ID integer counter.

NOTE This field may only be changed if no gene ids have yet been issued for this organism.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntStart transcriptIntStartinteger

Starting point for the transcript ID integer counter.

NOTE This field may only be changed if no transcript ids have yet been issued for this organism.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Request Body

{
  "template": "PF3D7_%07d",
  "geneIntStart": 1500000,
  "transcriptIntStart": 1
}

204 No Content chevron_right expand_more

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /idSets

 lock

Parameters chevron_right expand_more

ParameterTypeDescription
Query
createdAfter ZeroBasedLonginteger

Int64 value with a valid value range of [0..9223372036854775807].

Max. value: 9223372036854776000

Format: int64

Inherits: integer

createdBefore ZeroBasedLonginteger

Int64 value with a valid value range of [0..9223372036854775807].

Max. value: 9223372036854776000

Format: int64

Inherits: integer

createdBystring

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/idSets?ZeroBasedLong=<value>&ZeroBasedLong=<value>&createdBy=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] IdSetResponseobject

Inherits: object

[].idSetId* idSetIdinteger

Internal storage primary key for an ID set. Used to make requests that operate on or retrieve one specific ID set.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].organismId* organismIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

[].geneIntStart* geneIntStartinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

[].generatedGeneCount* generatedGeneCountinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

[].generatedIds*array
[].generatedIds[]object

Inherits: GeneratedTranscriptEntry

[].generatedIds[].geneId*string

Min. length: 3

[].generatedIds[].transcripts*array
[].generatedIds[].transcripts[]string
[].generatedIds[].proteins*array
[].generatedIds[].proteins[]string
[].createdOn*datetime
[].createdBy* createdByinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Response Body

[
  {
    "idSetId": 48,
    "organismId": 1,
    "template": "PF3D7_%07d",
    "geneIntStart": 150000,
    "generatedGeneCount": 2,
    "generatedIds": [
      {
        "geneId": "PF3D7_0145842",
        "transcripts": [
          "PF3D7_0145842.R57",
          "PF3D7_0145842.R58",
          "PF3D7_0145842.R59",
          "PF3D7_0145842.R78"
        ],
        "proteins": [
          "PF3D7_0145842.P57",
          "PF3D7_0145842.P58",
          "PF3D7_0145842.P59",
          "PF3D7_0145842.P78"
        ]
      },
      {
        "geneId": "PF3D7_150001",
        "transcripts": [],
        "proteins": []
      },
      {
        "geneId": "PF3D7_150002",
        "transcripts": [
          "PF3D7_150002.R79"
        ],
        "proteins": [
          "PF3D7_150002.P79"
        ]
      }
    ],
    "createdOn": "2020-08-25T11:43:16Z",
    "createdBy": 215
  }
]

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /idSets

 lock

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  undefined/idSets

Request Body chevron_right expand_more

IdSetPostRequest IdSetPostRequest

application/json

Inherits: object

ParameterTypeDescription
organismId* organismIdinteger

Internal storage primary key for an organism registered with the OSID service.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

generateGenes* generateGenesinteger

Number of gene IDs generated by the OSID service for the current organism.

Max. value: 2147483647

Format: int32

Inherits: integer

200 OK chevron_right expand_more

IdSetResponse IdSetResponse

application/json

Inherits: object

ParameterTypeDescription
idSetId* idSetIdinteger

Internal storage primary key for an ID set. Used to make requests that operate on or retrieve one specific ID set.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

organismId* organismIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

generatedGeneCount* generatedGeneCountinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

generatedIds*array
generatedIds[]object

Inherits: GeneratedTranscriptEntry

generatedIds[].geneId*string

Min. length: 3

generatedIds[].transcripts*array
generatedIds[].transcripts[]string
generatedIds[].proteins*array
generatedIds[].proteins[]string
createdOn*datetime
createdBy* createdByinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Response Body

{
  "idSetId": 48,
  "organismId": 1,
  "template": "PF3D7_%07d",
  "geneIntStart": 150000,
  "generatedGeneCount": 2,
  "generatedIds": [
    {
      "geneId": "PF3D7_150001",
      "transcripts": [],
      "proteins": []
    },
    {
      "geneId": "PF3D7_150002",
      "transcripts": [],
      "proteins": []
    }
  ],
  "createdOn": "2020-08-25T11:43:16Z",
  "createdBy": 123
}

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /idSets/{id-set-id}

 lock

Parameters chevron_right expand_more

ParameterTypeDescription
Path
id-set-id* OneBasedLonginteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/idSets/{id-set-id}

200 OK chevron_right expand_more

IdSetResponse IdSetResponse

application/json

Inherits: object

ParameterTypeDescription
idSetId* idSetIdinteger

Internal storage primary key for an ID set. Used to make requests that operate on or retrieve one specific ID set.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

organismId* organismIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

generatedGeneCount* generatedGeneCountinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

generatedIds*array
generatedIds[]object

Inherits: GeneratedTranscriptEntry

generatedIds[].geneId*string

Min. length: 3

generatedIds[].transcripts*array
generatedIds[].transcripts[]string
generatedIds[].proteins*array
generatedIds[].proteins[]string
createdOn*datetime
createdBy* createdByinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Response Body

{
  "idSetId": 48,
  "organismId": 1,
  "template": "PF3D7_%07d",
  "geneIntStart": 150000,
  "generatedGeneCount": 2,
  "generatedIds": [
    {
      "geneId": "PF3D7_0145842",
      "transcripts": [
        "PF3D7_0145842.R57",
        "PF3D7_0145842.R58",
        "PF3D7_0145842.R59",
        "PF3D7_0145842.R78"
      ],
      "proteins": [
        "PF3D7_0145842.P57",
        "PF3D7_0145842.P58",
        "PF3D7_0145842.P59",
        "PF3D7_0145842.P78"
      ]
    },
    {
      "geneId": "PF3D7_150001",
      "transcripts": [],
      "proteins": []
    },
    {
      "geneId": "PF3D7_150002",
      "transcripts": [
        "PF3D7_150002.R79"
      ],
      "proteins": [
        "PF3D7_150002.P79"
      ]
    }
  ],
  "createdOn": "2020-08-25T11:43:16Z",
  "createdBy": 546
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

patch /idSets/{id-set-id}

 lock

Parameters chevron_right expand_more

ParameterTypeDescription
Path
id-set-id* OneBasedLonginteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X PATCH \
  -H "Content-type: application/json"
  -d @body.json \
  undefined/idSets/{id-set-id}

Request Body chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] IdSetPatchEntryobject

Inherits: object

[].geneId*string

Min. length: 3

[].transcripts* transcriptsinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

Request Body

[
  {
    "geneId": "PF3D7_0145842",
    "transcripts": 4
  },
  {
    "geneId": "PF3D7_0120354",
    "transcripts": 18
  }
]

200 OK chevron_right expand_more

IdSetResponse IdSetResponse

application/json

Inherits: object

ParameterTypeDescription
idSetId* idSetIdinteger

Internal storage primary key for an ID set. Used to make requests that operate on or retrieve one specific ID set.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

organismId* organismIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

generatedGeneCount* generatedGeneCountinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

generatedIds*array
generatedIds[]object

Inherits: GeneratedTranscriptEntry

generatedIds[].geneId*string

Min. length: 3

generatedIds[].transcripts*array
generatedIds[].transcripts[]string
generatedIds[].proteins*array
generatedIds[].proteins[]string
createdOn*datetime
createdBy* createdByinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /auth

Create User  lock

Register a new user/application and issue an API key for that user to access this service.

This endpoint may only be used by a user or application with access to the admin credentials.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  undefined/auth

Request Body chevron_right expand_more

UserPostRequest UserPostRequest

application/json

Inherits: object

ParameterTypeDescription
username*string

Min. length: 3

Request Body

{
  "username": "someApplicationName"
}

200 OK chevron_right expand_more

NewUserResponse NewUserResponse

application/json

Inherits: object

ParameterTypeDescription
userId* userIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

username*string
apiKey*string
issued*datetime

Response Body

{
  "userId": 123456,
  "username": "some user name",
  "apiKey": "d831d10e47de4154912ea7a8f1c633c3",
  "issued": "2020-05-25T13:18:26Z"
}

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /auth/{user-identifier}

Lookup User  lock

Look up a user by name or ID.

This endpoint may only be used by a user or application with access to the admin credentials.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
user-identifier*string

Either the primary key id or the exact username of the user to lookup.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/auth/{user-identifier}

200 OK chevron_right expand_more

NewUserResponse NewUserResponse

application/json

Inherits: object

ParameterTypeDescription
userId* userIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

username*string
apiKey*string
issued*datetime

Response Body

{
  "userId": 123456,
  "username": "some user name",
  "apiKey": "d831d10e47de4154912ea7a8f1c633c3",
  "issued": "2020-05-25T13:18:26Z"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /api

 lock

Renders the API documentation for this service.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/api

200 OK chevron_right expand_more

text/html

text/html

get /health

 lock

Prints information about the overall service health.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/health

200 OK chevron_right expand_more

HealthResponse HealthResponse

application/json

Health details about the service

Inherits: object

ParameterTypeDescription
status*string

Status describes the overall service state. A status of "healthy" indicates that everything is running smoothly and all service dependencies are reachable and online. A status of "unhealthy" indicates that something is wrong with either this service or one or more of it's dependency services.

Enum:
  • healthy
  • unhealthy
dependencies*array

A list of external services that this service depends on and some details about them.

dependencies[]object

Inherits: DependencyStatus

dependencies[].name*string

Name of the external depdendency.

dependencies[].reachable*boolean

Whether or not the external service is reachable.

dependencies[].online*string

Whether or not the external service is online and available for requests.

Enum:
  • yes
  • unknown
  • no
info*object

Additional properties: Yes

info.threads*integer

Min. value: 1

info.uptime*string
info.uptimeMillis*integer

Min. value: 1

Format: int64

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /metrics

 lock

Prometheus metrics for the service.

Secured By chevron_right expand_more

basic basic

HTTP Basic Authentication

curl -X GET \
  undefined/metrics

200 OK chevron_right expand_more

text/plain

text/plain

Security Schemes

Security Scheme basic

basic

HTTP Basic Authentication

curl -X <method> \
  /<path>

Types

Type TemplatePattern (string)

Gene ID Template String

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

Examples

PF3D7_%07d

Type ZeroBasedInt (integer)

ZeroBasedInt

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

Type ZeroBasedLong (integer)

ZeroBasedLong

Int64 value with a valid value range of [0..9223372036854775807].

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Type OneBasedLong (integer)

OneBasedLong

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Type IdSetPostRequest (object)

IdSetPostRequest

Inherits: object

Model

ParameterTypeDescription
organismId* organismIdinteger

Internal storage primary key for an organism registered with the OSID service.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

generateGenes* generateGenesinteger

Number of gene IDs generated by the OSID service for the current organism.

Max. value: 2147483647

Format: int32

Inherits: integer

Type IdSetResponse (object)

IdSetResponse

Inherits: object

Model

ParameterTypeDescription
idSetId* idSetIdinteger

Internal storage primary key for an ID set. Used to make requests that operate on or retrieve one specific ID set.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

organismId* organismIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

generatedGeneCount* generatedGeneCountinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

generatedIds*array
generatedIds[]object

Inherits: GeneratedTranscriptEntry

generatedIds[].geneId*string

Min. length: 3

generatedIds[].transcripts*array
generatedIds[].transcripts[]string
generatedIds[].proteins*array
generatedIds[].proteins[]string
createdOn*datetime
createdBy* createdByinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Type GeneratedTranscriptEntry (object)

GeneratedTranscriptEntry

Inherits: object

Model

ParameterTypeDescription
geneId*string

Min. length: 3

transcripts*array
transcripts[]string
proteins*array
proteins[]string

Examples

{
  "geneId": "PF3D7_0145842",
  "transcripts": [
    "PF3D7_0145842.R57",
    "PF3D7_0145842.R58",
    "PF3D7_0145842.R59",
    "PF3D7_0145842.R78"
  ],
  "proteins": [
    "PF3D7_0145842.P57",
    "PF3D7_0145842.P58",
    "PF3D7_0145842.P59",
    "PF3D7_0145842.P78"
  ]
}

Type IdSetPatchEntry (object)

IdSetPatchEntry

Inherits: object

Model

ParameterTypeDescription
geneId*string

Min. length: 3

transcripts* transcriptsinteger

Int32 value with a valid value range of [0..2147483647].

Max. value: 2147483647

Format: int32

Inherits: integer

Examples

{
  "geneId": "PF3D7_0145842",
  "transcripts": 4
}

Type OrganismPostRequest (object)

Organism Record Create/Update Request Body

Inherits: object

Model

ParameterTypeDescription
organismName*string

Min. length: 3

template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Starting point for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntStart transcriptIntStartinteger

Starting point for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Default value: 1

Inherits: integer

Examples

{
  "organismName": "Plasmodium falciparum 3D7",
  "template": "PF3D7_%07d",
  "geneIntStart": 1500000,
  "transcriptIntStart": 1
}

Type OrganismPutRequest (object)

Organism Record Create/Update Request Body

Inherits: object

Model

ParameterTypeDescription
template* templatestring

Gene ID template string. Must include at least 1 integer format parameter for injecting the id counter value into the template.

The template string will be expanded using Java's String.format method which will expect a Java format parameter.

See the Java string formatting cheatsheet for possible parameters and modifiers.

The example parameter for this field is %07d which breaks down to:

  • % = parameter start marker
  • 07 = left pad the number with zeros for a total length of 7 digits
  • d = format as an int

NOTE: When used, this template string will be passed exactly one int64 value and nothing else. Templates should only include %d based formats. If the template needs more than one instance of the counter int64 value, positional parameters may be used.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart geneIntStartinteger

Starting point for the gene ID integer counter.

NOTE This field may only be changed if no gene ids have yet been issued for this organism.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntStart transcriptIntStartinteger

Starting point for the transcript ID integer counter.

NOTE This field may only be changed if no transcript ids have yet been issued for this organism.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Examples

{
  "template": "PF3D7_%07d",
  "geneIntStart": 1500000,
  "transcriptIntStart": 1
}

Type OrganismResponse (object)

OrganismResponse

Inherits: object

Model

ParameterTypeDescription
organismId* organismIdinteger

Internal primary key value assigned to this organism record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

organismName*string

Min. length: 3

template* templatestring

Currently assigned gene ID template string.

Pattern: ^.*%[0-9,+\- $.]*d.*$

Min. length: 5

Inherits: string

geneIntStart* geneIntStartinteger

Starting point for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntStart* transcriptIntStartinteger

Starting point for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

geneIntCurrent* geneIntCurrentinteger

Current value for the gene ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

transcriptIntCurrent* transcriptIntCurrentinteger

Current value for the transcript ID integer counter.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

createdOn*datetime

Timestamp of when this record was created.

createdBy* createdByinteger

User ID of the user/app that created this record.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Examples

{
  "organismId": 24,
  "organismName": "Plasmodium falciparum 3D7",
  "template": "PF3D7_%07d",
  "geneIntStart": 1500000,
  "geneIntCurrent": 1501203,
  "transcriptIntStart": 1,
  "transcriptIntCurrent": 57,
  "createdOn": "2020-08-25T11:43:16Z",
  "createdBy": 26
}

Type NewUserResponse (object)

NewUserResponse

Inherits: object

Model

ParameterTypeDescription
userId* userIdinteger

Int64 value with a valid value range of [1..9223372036854775807].

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

username*string
apiKey*string
issued*datetime

Examples

{
  "userId": 123456,
  "username": "some user name",
  "apiKey": "d831d10e47de4154912ea7a8f1c633c3",
  "issued": "2020-05-25T13:18:26Z"
}

Type UserPostRequest (object)

UserPostRequest

Inherits: object

Model

ParameterTypeDescription
username*string

Min. length: 3

Examples

{
  "username": "some user name"
}

Type Error (object)

Error

Discriminator: status

Inherits: object

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Type ErrorType (string)

ErrorType
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: string

Type BadRequestError (object)

Bad Request

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "bad-request",
  "message": "malformed JSON"
}

Type UnauthorizedError (object)

Unauthorized

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

Type ForbiddenError (object)

Forbidden

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

Type NotFoundError (object)

Not Found

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

Type MethodNotAllowedError (object)

Method Not Allowed

The HTTP method used to request a resource is not allowed or configured by the server.

Discriminator: status

Discriminator value: bad-method

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "bad-method",
  "message": "PUT requests are not permitted on this endpoint"
}

Type UnprocessableEntityError (object)

Unprocessable Entity

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Examples

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

Type ServerError (object)

Internal Server Error

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Examples

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

Type HealthResponse (object)

HealthResponse

Health details about the service

Inherits: object

Model

ParameterTypeDescription
status*string

Status describes the overall service state. A status of "healthy" indicates that everything is running smoothly and all service dependencies are reachable and online. A status of "unhealthy" indicates that something is wrong with either this service or one or more of it's dependency services.

Enum:
  • healthy
  • unhealthy
dependencies*array

A list of external services that this service depends on and some details about them.

dependencies[]object

Inherits: DependencyStatus

dependencies[].name*string

Name of the external depdendency.

dependencies[].reachable*boolean

Whether or not the external service is reachable.

dependencies[].online*string

Whether or not the external service is online and available for requests.

Enum:
  • yes
  • unknown
  • no
info*object

Additional properties: Yes

info.threads*integer

Min. value: 1

info.uptime*string
info.uptimeMillis*integer

Min. value: 1

Format: int64

Type DependencyStatus (object)

DependencyStatus

Inherits: object

Model

ParameterTypeDescription
name*string

Name of the external depdendency.

reachable*boolean

Whether or not the external service is reachable.

online*string

Whether or not the external service is online and available for requests.

Enum:
  • yes
  • unknown
  • no