How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

NCI EVS Terminology API

Enterprise Vocabulary Services (EVS) exposes NCI Thesaurus and NCI Metathesaurus content — over 192,000 concepts, 154,000 textual definitions, 623,000 synonyms and 630,000 inter-concept relationships — through a search and browse API used to code, analyze, and share cancer and biomedical research information.

NCI EVS Terminology API is one of 15 APIs that Cancer.gov publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Terminology, Vocabulary, and NCI Thesaurus. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and an API reference.

This API exposes 59 operations across 58 paths, organized into 7 resource areas, and defines 26 schemas. It is described by OpenAPI 3.0.1, at version 2.4.1.RELEASE.

Requests are made against a single base URL, https://api-evsrest.nci.nih.gov.

59 operations 58 paths 26 schemas 57 GET2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
2.4.1.RELEASE
Base URL
https://api-evsrest.nci.nih.gov
Contact
Terms of Service
Resource Areas
7

Paths & Operations 59

Across 58 paths, the API surfaces 59 operations — 57 GET, 2 POST. They span 7 resource areas: Search endpoint, Application version endpoint, Subset endpoints, Metadata endpoints, Mapset endpoints, History endpoints, Concept endpoints. Each is listed below with its method, path, parameters, and response codes.

Search endpoint 5
POST
/api/v1/sparql/{terminology}
Get SPARQL query results
getSparqlBindings 5 params body → 400417200
GET
/api/v1/concept/{terminology}/search
Get concept search results for a specified terminology
searchSingleTerminology 18 params → 400417200
POST
/api/v1/concept/{terminology}/search
Get concept search results for a specified terminology
searchSingleTerminologySparql 19 params body → 400417200
GET
/api/v1/sparql/{terminology}/prefixes
Get default prefixes used by SPARQL queries
getSparqlPrefixes 1 param → 400417200
GET
/api/v1/concept/search
Get concept search results
search 18 params → 400417404200
Application version endpoint 1
GET
/api/v1/version
Get the application version information
getApplicationVersion → 400404200
Subset endpoints 3
GET
/api/v1/subset/{terminology}
Get all subsets (or those specified by list parameter) for the specified terminology
getSubsets 3 params → 404200
GET
/api/v1/subset/{terminology}/{code}
Get the subset for the specified terminology and code.
getSubset 3 params → 404200
GET
/api/v1/subset/{terminology}/{code}/members
Get subset members for the specified terminology and code. Concept subset endpoints will be deprecated in v2 in favor of top level subset endpoints.
getSubsetMembers 5 params → 417404200
Metadata endpoints 24
GET
/api/v1/metadata/{terminology}
Get some metadata (associations, properties, qualifiers, roles, term types, sources, definition types, synonym types) for the terminology overview tab in EVS-Explore
getOverviewMetadata 1 param → 417404200
GET
/api/v1/metadata/{terminology}/welcomeText
Get welcome text for the specified terminology
getWelcomeText 1 param → 404200
GET
/api/v1/metadata/{terminology}/termTypes
Get all term types for the specified terminology
getTermTypes 1 param → 404200
GET
/api/v1/metadata/{terminology}/synonymTypes
Get all synonym types (or those specified by list parameter) for the specified terminology
getSynonymTypes 3 params → 417404200
GET
/api/v1/metadata/{terminology}/synonymType/{codeOrName}
Get the synonym type for the specified terminology and code/name
getSynonymType 3 params → 417404200
GET
/api/v1/metadata/{terminology}/synonymSources
Get all synonym sources for the specified terminology
getSynonymSources 1 param → 404200
GET
/api/v1/metadata/{terminology}/subsets
Get all subsets (or those specified by list parameter) for the specified terminology.
getSubsets_1 3 params → 417404200
GET
/api/v1/metadata/{terminology}/subset/{code}
Get the subset for the specified terminology and code.
getSubset_1 3 params → 417404200
GET
/api/v1/metadata/{terminology}/stats/{source}
Get statistics for the source within the specified terminology.
getSourceStats 2 params → 417404200
GET
/api/v1/metadata/{terminology}/roles
Get all roles (or those specified by list parameter) for the specified terminology
getRoles 3 params → 417200
GET
/api/v1/metadata/{terminology}/role/{codeOrName}
Get the role for the specified terminology and code/name
getRole 3 params → 417404200
GET
/api/v1/metadata/{terminology}/qualifiers
Get all qualifiers (properties on properties) for the specified terminology
getQualifiers 3 params → 417404200
GET
/api/v1/metadata/{terminology}/qualifier/{codeOrName}
Get the qualifier for the specified terminology and code/name
getQualifier 3 params → 417404200
GET
/api/v1/metadata/{terminology}/qualifier/{codeOrName}/values
Get qualifier values for the specified terminology and code/name
getQualifierValues 2 params → 404200
GET
/api/v1/metadata/{terminology}/property/{codeOrName}
Get the property for the specified terminology and code/name
getProperty 3 params → 417404200
GET
/api/v1/metadata/{terminology}/property/{codeOrName}/values
Get property values for the specified terminology and code/name
getPropertyValues 2 params → 404200
GET
/api/v1/metadata/{terminology}/properties
Get all properties (or those specified by list parameter) for the specified terminology
getProperties 3 params → 417404200
GET
/api/v1/metadata/{terminology}/definitionTypes
Get all definition types (or those specified by list parameter) for the specified terminology
getDefinitionTypes 3 params → 417404200
GET
/api/v1/metadata/{terminology}/definitionType/{codeOrName}
Get the definition type for the specified terminology and code/name.
getDefinitionType 3 params → 417404200
GET
/api/v1/metadata/{terminology}/definitionSources
Get all definition sources for the specified terminology
getDefinitionSources 1 param → 404200
GET
/api/v1/metadata/{terminology}/conceptStatuses
Get all concept status values for the specified terminology
getConceptStatuses 1 param → 404200
GET
/api/v1/metadata/{terminology}/associations
Get all associations (or those specified by list parameter) for the specified terminology
getAssociations 3 params → 417404200
GET
/api/v1/metadata/{terminology}/association/{codeOrName}
Get the association for the specified terminology and code/name
getAssociation 3 params → 417404200
GET
/api/v1/metadata/terminologies
Get all available terminologies
getTerminologies 3 params → 404200
Mapset endpoints 3
GET
/api/v1/mapset
Get all mapsets (no terminology parameter is needed as mapsets connect codes in one terminology to another)
getMapsets 1 param → 200
GET
/api/v1/mapset/{code}
Get the mapset for the specified code (no terminology parameter is needed as mapsets connect codes in one terminology to another)
getMapsetByCode 2 params → 417404200
GET
/api/v1/mapset/{code}/maps
Get the maps for the mapset specified by the code (no terminology parameter is needed as mapsets connect codes in one terminology to another)
getMapsetMappingsByCode 6 params → 417404200
History endpoints 2
GET
/api/v1/history/{terminology}/{code}/replacements
Gets suggested replacements for a specified terminology and retired code. Active codes will return entries as well with an action of "active".
getReplacements 2 params → 400417200
GET
/api/v1/history/{terminology}/replacements
Gets suggested replacements for a specified terminology and a comma-separated list of retired codes. Active codes will return entries as well with an action of "active".
getReplacementsFromList 2 params → 400417200
Concept endpoints 21
GET
/api/v1/concept/{terminology}
Get concepts specified by list parameter
getConcepts 4 params → 400417404200
GET
/api/v1/concept/{terminology}/{code}
Get the concept for the specified terminology and code
getConcept 5 params → 400417404200
GET
/api/v1/concept/{terminology}/{code}/subtree
Get the entire subtree from the root node to the specified code
getSubtree 4 params → 400404200
GET
/api/v1/concept/{terminology}/{code}/subtree/children
Get the entire subtree from the root node to the specified code
getSubtreeChildren 4 params → 400404200
GET
/api/v1/concept/{terminology}/{code}/roles
Get roles for the specified terminology and code
getRoles_1 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/pathsToRoot
Get paths to the hierarchy root from the specified code
getPathsToRoot 6 params → 417404200
GET
/api/v1/concept/{terminology}/{code}/pathsToAncestor/{ancestorCode}
Get paths from the specified code to the specified ancestor code
getPathsToAncestor 7 params → 417404200
GET
/api/v1/concept/{terminology}/{code}/pathsFromRoot
Get paths from the hierarchy root to the specified concept.
getPathsFromRoot 6 params → 417404200
GET
/api/v1/concept/{terminology}/{code}/parents
Get parent concepts for the specified terminology and code
getParents 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/maps
Get maps for the specified terminology and code
getMaps 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/inverseRoles
Get inverse roles for the specified terminology and code
getInverseRoles 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/inverseAssociations
Get inverse associations for the specified terminology and code
getInverseAssociations 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/history
Get history for the specified terminology and code
getHistory 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/disjointWith
Get "disjoint with" info for the specified terminology and code
getDisjointWith 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/descendants
Get descendant concepts for the specified terminology and code
getDescendants 6 params → 417404200
GET
/api/v1/concept/{terminology}/{code}/children
Get child concepts for the specified terminology and code
getChildren 3 params → 404200
GET
/api/v1/concept/{terminology}/{code}/associations
Get the associations for the specified terminology and code
getAssociations_1 3 params → 404200
GET
/api/v1/concept/{terminology}/subsetMembers/{code}
Get subset members for the specified terminology and code.
getSubsetMembers_1 6 params → 417404200
GET
/api/v1/concept/{terminology}/roots
Get root concepts for the specified terminology
getRoots 3 params → 417404200
GET
/api/v1/concept/{terminology}/codes
Get all codes for the specified terminology
getAllCodesForTerminology 2 params → 200417404
GET
/api/v1/concept/{terminology}/associations/{codeOrLabel}
Get the association entries for the specified terminology and code. Associations used to define subset membership are not resolved by this call
getAssociationEntries 5 params → 417404200

Schemas 26

The contract defines 26 schemas that model the data the API accepts and returns. The most detailed are Concept (31 properties), Mapping (23 properties), TerminologyMetadata (23 properties), SearchCriteria (21 properties). Each schema is shown below with its type and property counts.

RestException
object
Payload for JSON error responses
5 properties
MapResultList
object
Represents a list of objects returned from a find call
6 properties
SearchCriteria
object
Criteria for a search or find operation
21 properties
Association
object
Represents a non-defining (in a logical sense) relationship between two concepts
10 properties
Concept
object
Represents a concept in a terminology
31 properties
ConceptMinimal
object
Represents minimal information about a concept in a terminology
7 properties
ConceptResultList
object
Represents a list of concepts returned from a search or find call
6 properties
Definition
object
Represents a text definition for a concept
8 properties
DisjointWith
object
Represents an assertion of disjointness between two concepts
10 properties
Extensions
object
Generally unset, this is used for certain special cases
10 properties
History
object
Represents a history record, generally for a retired concept
8 properties
Mapping
object
Represents a map from a concept to concepts in other terminologies
23 properties
Path
object
Represents a path (or partial path) in a hierarchy
4 properties
Paths
object
Represents a list of paths
3 properties
Property
object
Represents a type/value property on a concept
8 properties
Qualifier
object
Represents a type/value qualifier on a concept element
5 properties
Role
object
Represents a (logically) defining relationship between two concepts
10 properties
Synonym
object
Represents one of the (potentially many) names for a concept
12 properties
ApplicationVersion
object
3 properties
StatisticsEntry
object
Represents an entry in a statistics table
3 properties
Terminology
object
Represents a terminology loaded into the API
15 properties
TerminologyMetadata
object
Represents additional terminology metadata
23 properties
MappingResultList
object
Represents a list of maps returned from a search or find call
6 properties
HierarchyNode
object
Represents a node in a subtree rendering of the hierarchy
8 properties
AssociationEntry
object
Represents an entry in a table of associations between two concepts
14 properties
AssociationEntryResultList
object
6 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

cancer-gov-evs-openapi.yml Raw ↑

Other APIs Cancer.gov publishes across the network.

NCI Clinical Trials Search API
NCI Genomic Data Commons (GDC) API
NCI SEER API
NCI MoDaC API
NCI Content Syndication Services
Cancer.gov Diseases API
Cancer.gov Interventions API
Cancer.gov Terms API
Cancer.gov Trials API
NCI Glossary Term API
NCI Drug Dictionary API
Cancer.gov Site-Wide Search API
Where this information came from

This is an independent, third-party profile of NCI EVS Terminology API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.