OpenAPI Specification
openapi: 3.2.0
info:
title: STRING REST Utility API
description: 'STRING is a protein-protein interaction network database providing scored associations between proteins across thousands of organisms. The REST API enables programmatic access to interaction scores, network visualizations, functional enrichment analysis, homology data, and protein annotations. STRING integrates data from genomic context, co-expression, text mining, biochemical and genetic experiments, and curated databases.
'
version: '12.0'
contact:
name: STRING Consortium
url: https://string-db.org
license:
name: Creative Commons Attribution
url: https://string-db.org/cgi/access?footer_active_subpage=licensing
termsOfService: https://string-db.org/cgi/info?footer_active_subpage=cookies
servers:
- url: https://string-db.org
description: STRING Production Server
security: []
tags:
- name: utility
description: Utility endpoints (version, links, API key)
paths:
/api/{format}/version:
get:
operationId: getVersion
summary: Version
description: Return the current STRING database version number and stable address URL.
tags:
- utility
parameters:
- $ref: '#/components/parameters/formatVersion'
- $ref: '#/components/parameters/caller_identity'
responses:
'200':
description: Current STRING database version
content:
text/plain:
schema:
$ref: '#/components/schemas/TsvResponse'
application/json:
schema:
$ref: '#/components/schemas/VersionInfo'
/api/json/get_api_key:
post:
operationId: getApiKey
summary: Get API Key
description: 'Obtain an API key required for the Values/Ranks Enrichment endpoints. The key is tied to the caller_identity you provide.
'
tags:
- utility
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- caller_identity
properties:
caller_identity:
type: string
description: Unique identifier for your application or organization
example: my_lab_pipeline
responses:
'200':
description: API key for Values/Ranks enrichment
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
'400':
$ref: '#/components/responses/BadRequest'
components:
responses:
BadRequest:
description: Bad request (invalid parameters)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
type: string
parameters:
caller_identity:
name: caller_identity
in: query
required: false
description: 'A string identifying your application or organization. Strongly recommended; helps STRING admins contact you if there are issues.
'
schema:
type: string
example: my_bioinformatics_pipeline
formatVersion:
name: format
in: path
required: true
description: Output format
schema:
type: string
enum:
- tsv
- json
- xml
example: json
schemas:
TsvResponse:
type: string
description: Tab-separated values response with header row
VersionInfo:
type: object
description: Current STRING database version
properties:
string_version:
type: string
description: STRING database version number
example: '12.0'
stable_address:
type: string
format: uri
description: Stable URL for this version of STRING
example: https://version-12-0.string-db.org
ApiKey:
type: object
description: API key for Values/Ranks enrichment endpoints
properties:
api_key:
type: string
description: The API key to use in subsequent Values/Ranks requests
Error:
type: object
properties:
status:
type: integer
error:
type: string
message:
type: string
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: api_key
description: 'API key required only for Values/Ranks Enrichment endpoints. Obtain via POST /api/json/get_api_key. All other endpoints are publicly accessible without authentication.
'
externalDocs:
description: STRING API Documentation
url: https://string-db.org/help/api/