Overview
This API provides access to publication and project data stored in the FIS (Forschungsinformationssystem). You can retrieve publications and projects associated with specific organizations or persons, with optional filtering by type.
https://fisapi.it.tum.de/
API Endpoints
Retrieve publications by organization or author TUM ID. When querying by organization, publications from all child organizations in the hierarchy are automatically included.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
tumId |
string | Required | The TUM ID of the organization or author |
by |
string | Required | Filter type: org for organization, author for author |
type |
string | Optional | Filter by publication type (see available types below) |
Response
{
"orgTumId": "TUS1ABC", // or "authorTumId" depending on 'by' parameter
"count": 42,
"filteredByType": "Article", // only present if type filter was used
"publications": [
{
"id": 1,
"typeDiscriminator": "...",
"uuid": "...",
"pureId": 12345,
"title": "Publication Title",
"type": "Article",
"publicationStatus": "published",
"publicationDate": 20240115,
"authors": "Author 1, Author 2",
"doi": "10.1234/example",
"pages": "1-10",
"volume": "42",
"journalTitle": "Journal Name",
"issn": "1234-5678",
"url": "https://portal.fis.tum.de/en/publications/..."
}
]
}
Available Publication Types
Retrieve projects by organization or person TUM ID. When querying by organization, projects from all child organizations in the hierarchy are automatically included.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
tumId |
string | Required | The TUM ID of the organization or person |
by |
string | Required | Filter type: org for organization, person for person/author |
type |
string | Optional | Filter by project type (e.g., "Research") |
Response
{
"orgTumId": "TUS1ABC", // or "personTumId" depending on 'by' parameter
"count": 15,
"filteredByType": "Research", // only present if type filter was used
"projects": [
{
"id": 1,
"pureId": 12345,
"uuid": "...",
"title": "Project Title",
"description": "Project description...",
"type": "Research",
"startDate": "2020-01-01",
"endDate": "2023-12-31",
"managingOrgUuid": "...",
"url": "https://gepris.dfg.de/...",
"portalUrl": "https://portal.fis.tum.de/en/projects/..."
}
]
}
Tools
Search for organization TUM IDs by name. Enter part of the organization name to find matching entries.
Use these type values with the type parameter to filter publications.
| Type Value | Example Usage |
|---|---|
Article |
/publications?by=org&tumId=...&type=Article |
Book |
/publications?by=org&tumId=...&type=Book |
Chapter |
/publications?by=org&tumId=...&type=Chapter |
Comment/debate |
/publications?by=org&tumId=...&type=Comment%2Fdebate |
Conference article |
/publications?by=org&tumId=...&type=Conference+article |
Conference contribution |
/publications?by=org&tumId=...&type=Conference+contribution |
Editorial |
/publications?by=org&tumId=...&type=Editorial |
Foreword/postscript |
/publications?by=org&tumId=...&type=Foreword%2Fpostscript |
Letter |
/publications?by=org&tumId=...&type=Letter |
Paper |
/publications?by=org&tumId=...&type=Paper |
Review article |
/publications?by=org&tumId=...&type=Review+article |
Short survey |
/publications?by=org&tumId=...&type=Short+survey |
Usage Examples
Get all publications by organization
GET https://fisapi.it.tum.de/publications?by=org&tumId=TUS1ABC
Get all publications by author
GET https://fisapi.it.tum.de/publications?by=author&tumId=go42tum
Get only articles by organization
GET https://fisapi.it.tum.de/publications?by=org&tumId=TUS1ABC&type=Article
Get conference papers by author
GET https://fisapi.it.tum.de/publications?by=author&tumId=go42tum&type=Conference
Get all projects by organization
GET https://fisapi.it.tum.de/projects?by=org&tumId=TUS1ABC
Get all projects by person
GET https://fisapi.it.tum.de/projects?by=person&tumId=go42tum
JavaScript Example
// Fetch publications for an organization
async function getOrgPublications(orgTumId, type = null) {
let url = `https://fisapi.it.tum.de/publications?by=org&tumId=${orgTumId}`;
if (type) {
url += `&type=${encodeURIComponent(type)}`;
}
const response = await fetch(url);
const data = await response.json();
console.log(`Found ${data.count} publications`);
return data.publications;
}
// Example usage
getOrgPublications('TUS1ABC', 'Article')
.then(publications => {
publications.forEach(pub => {
console.log(`${pub.title} (${pub.publicationDate})`);
});
});
cURL Example
# Get all publications for an organization
curl "https://fisapi.it.tum.de/publications?by=org&tumId=TUS1ABC"
# Get only journal articles
curl "https://fisapi.it.tum.de/publications?by=org&tumId=TUS1ABC&type=Article"
# Get publications for an author
curl "https://fisapi.it.tum.de/publications?by=author&tumId=go42tum"
# Get all projects for an organization
curl "https://fisapi.it.tum.de/projects?by=org&tumId=TUS1ABC"
# Get projects for a person
curl "https://fisapi.it.tum.de/projects?by=person&tumId=go42tum"
PHP Example
// Fetch publications using PHP
function fetchPublications($tumId, $by = 'org', $type = null) {
$baseUrl = 'https://fisapi.it.tum.de/publications';
$params = [
'tumId' => $tumId,
'by' => $by
];
if ($type !== null) {
$params['type'] = $type;
}
$url = $baseUrl . '?' . http_build_query($params);
$response = file_get_contents($url);
return json_decode($response, true);
}
// Example usage
$publications = fetchPublications('TUS1ABC', 'org', 'Article');
echo "Found " . $publications['count'] . " articles\n";
foreach ($publications['publications'] as $pub) {
echo "- " . $pub['title'] . "\n";
}
Error Responses
| Status Code | Error | Description |
|---|---|---|
400 |
Missing required parameter: tumId | The tumId parameter was not provided |
400 |
Missing or invalid parameter: by | The by parameter must be "org" or "author" (for publications) / "org" or "person" (for projects) |
404 |
Author/Organization/Person not found | No record found with the provided TUM ID |
500 |
Database error | An internal server error occurred |