MCP-Server

Open Medici Public Fellowship and Grant Search

com.openmedici/public
Bildung Suche & Recherche Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches and retrieves public fellowships, grants, scholarships, prizes, and funded residencies with eligibility and funding details.

get_opportunity
Get opportunity
Get one published public opportunity, its current cycles, source records, and any approved eligibility or funding facts before ranking or citing it. Missing facts remain unknown. Open Medici ranking is a catalog signal, not personalized fit, eligibility, or acceptance likelihood.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1}, 'locale': {'enum': ['en', 'es'], 'type': 'string', 'default': 'en'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['opportunity'], 'properties': {'opportunity': {'type': 'object', 'required': ['id', 'slug', 'name', 'organization', 'type', 'summary', 'fields', 'eligibleCountries', 'destinationCountries', 'careerStages', 'fundingMinUsd', 'fundingMaxUsd', 'nextDeadline', 'lifecycle', 'recordUrl', 'officialUrl', 'sourceCheckedAt', 'ranking', 'description', 'cycles', 'sources', 'opportunityFacts'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'type': {'type': 'string'}, 'cycles': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'opensOn', 'deadlineOn', 'applicationUrl', 'status'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'status': {'type': 'string'}, 'opensOn': {'type': ['string', 'null']}, 'deadlineOn': {'type': ['string', 'null']}, 'applicationUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'fields': {'type': 'array', 'items': {'type': 'string'}}, 'ranking': {'type': 'object', 'required': ['position', 'tier', 'score', 'badge', 'reason'], 'properties': {'tier': {'enum': ['S', 'A', 'B', 'Unscored'], 'type': 'string'}, 'badge': {'type': ['string', 'null']}, 'score': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'reason': {'type': ['string', 'null']}, 'position': {'type': 'integer', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'publisher', 'publishedOn', 'retrievedAt', 'sourceCheckedAt'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': ['string', 'null']}, 'publisher': {'type': ['string', 'null']}, 'publishedOn': {'type': ['string', 'null']}, 'retrievedAt': {'type': 'string'}, 'sourceCheckedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'summary': {'type': ['string', 'null']}, 'lifecycle': {'type': 'string'}, 'recordUrl': {'type': 'string', 'format': 'uri'}, 'description': {'type': ['string', 'null']}, 'officialUrl': {'type': 'string', 'format': 'uri'}, 'careerStages': {'type': 'array', 'items': {'type': 'string'}}, 'nextDeadline': {'type': ['string', 'null']}, 'organization': {'type': 'object', 'required': ['id', 'slug', 'name', 'pageAvailable'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'pageAvailable': {'type': 'boolean'}}, 'additionalProperties': False}, 'fundingMaxUsd': {'type': ['number', 'null']}, 'fundingMinUsd': {'type': ['number', 'null']}, 'sourceCheckedAt': {'type': ['string', 'null']}, 'opportunityFacts': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['key', 'precision', 'validity', 'checkedAt', 'freshThrough', 'evidence', 'kind', 'value'], 'properties': {'key': {'type': 'string'}, 'kind': {'type': 'string', 'const': 'funding'}, 'value': {'type': 'object', 'properties': {'scope': {'enum': ['per_recipient', 'per_project', 'cohort', 'total_pool'], 'type': 'string'}, 'amount': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d+)?$', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'amountMax': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'amountMin': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'usdAmount': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'amountShape': {'enum': ['exact', 'minimum', 'maximum', 'range', 'estimated'], 'type': 'string'}, 'currencyCode': {'type': 'string'}, 'usdAmountMax': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'usdAmountMin': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'usdConvertedOn': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity/properties/from/anyOf/0'}, 'usdConversionRate': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}}, 'additionalProperties': False}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'locator', 'lastCheckedAt'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'locator': {'type': 'string'}, 'lastCheckedAt': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}, 'minItems': 1}, 'validity': {'type': 'object', 'required': ['from', 'through'], 'properties': {'from': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'through': {'anyOf': [{'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity/properties/from/anyOf/0'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'checkedAt': {'type': 'string', 'format': 'date-time'}, 'precision': {'enum': ['exact', 'estimated', 'derived'], 'type': 'string'}, 'freshThrough': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['key', 'precision', 'validity', 'checkedAt', 'freshThrough', 'evidence', 'kind', 'value'], 'properties': {'key': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/key'}, 'kind': {'type': 'string', 'const': 'benefit'}, 'value': {'type': 'object', 'properties': {'text': {'type': 'string'}, 'benefitKind': {'enum': ['stipend', 'salary', 'tuition', 'travel', 'housing', 'insurance', 'research_budget', 'in_kind'], 'type': 'string'}}, 'additionalProperties': False}, 'evidence': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/evidence'}, 'validity': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity'}, 'checkedAt': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}, 'precision': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/precision'}, 'freshThrough': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['key', 'precision', 'validity', 'checkedAt', 'freshThrough', 'evidence', 'kind', 'value'], 'properties': {'key': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/key'}, 'kind': {'type': 'string', 'const': 'duration'}, 'value': {'type': 'object', 'properties': {'unit': {'enum': ['days', 'weeks', 'months', 'years', 'people', 'applications', 'percent'], 'type': 'string'}, 'number': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'maximum': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}, 'minimum': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/value/properties/amount', 'description': 'A base-10 decimal serialized as a string to preserve precision.'}}, 'additionalProperties': False}, 'evidence': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/evidence'}, 'validity': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity'}, 'checkedAt': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}, 'precision': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/precision'}, 'freshThrough': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['key', 'precision', 'validity', 'checkedAt', 'freshThrough', 'evidence', 'kind', 'value'], 'properties': {'key': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/key'}, 'kind': {'type': 'string', 'const': 'milestone'}, 'value': {'type': 'object', 'properties': {'date': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity/properties/from/anyOf/0'}}, 'additionalProperties': False}, 'evidence': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/evidence'}, 'validity': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity'}, 'checkedAt': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}, 'precision': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/precision'}, 'freshThrough': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['key', 'precision', 'validity', 'checkedAt', 'freshThrough', 'evidence', 'kind', 'value'], 'properties': {'key': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/key'}, 'kind': {'type': 'string', 'const': 'statistic'}, 'value': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/2/properties/value'}, 'evidence': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/evidence'}, 'validity': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity'}, 'checkedAt': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}, 'precision': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/precision'}, 'freshThrough': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['key', 'precision', 'validity', 'checkedAt', 'freshThrough', 'evidence', 'kind', 'value'], 'properties': {'key': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/key'}, 'kind': {'type': 'string', 'const': 'eligibility'}, 'value': {'anyOf': [{'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/2/properties/value'}, {'type': 'object', 'properties': {'text': {'type': 'string'}, 'codes': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}]}, 'evidence': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/evidence'}, 'validity': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/validity'}, 'checkedAt': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}, 'precision': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/precision'}, 'freshThrough': {'$ref': '#/properties/opportunity/properties/opportunityFacts/items/anyOf/0/properties/checkedAt'}}, 'additionalProperties': False}]}}, 'eligibleCountries': {'type': 'array', 'items': {'type': 'string'}}, 'destinationCountries': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_filter_options
List filter options
List current database-backed values for one public search facet. Use this before search_opportunities instead of guessing taxonomy terms. An empty facet or absent user value means public coverage is missing; it is not evidence that the user is ineligible, so do not turn it into a hard exclusion. Map filters to facets as follows: type→types, topic→topics, applicant→applicants, career→careers, audience→audiences, education→education, enrollment→enrollments, citizenship→citizenships, residence→residences, country→countries, destination→destinations, benefit→benefits, fundingShape→fundingShapes, durationUnit→durationUnits, openState→openStates, lifecycle→lifecycles.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['facet'], 'properties': {'q': {'type': 'string', 'maxLength': 100}, 'facet': {'enum': ['types', 'lifecycles', 'fields', 'countries', 'destinations', 'careers', 'topics', 'applicants', 'audiences', 'benefits', 'citizenships', 'residences', 'education', 'enrollments', 'fundingShapes', 'durationUnits', 'openStates'], 'type': 'string', 'description': "Plural facet catalog name corresponding to a search filter; see this tool's description for the exact mapping."}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 10000, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['value', 'label', 'count'], 'properties': {'count': {'type': 'integer'}, 'label': {'type': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}}, 'meta': {'type': 'object', 'required': ['facet', 'q', 'limit', 'offset', 'count', 'total'], 'properties': {'q': {'type': 'string'}, 'count': {'type': 'integer'}, 'facet': {'enum': ['types', 'lifecycles', 'fields', 'countries', 'destinations', 'careers', 'topics', 'applicants', 'audiences', 'benefits', 'citizenships', 'residences', 'education', 'enrollments', 'fundingShapes', 'durationUnits', 'openStates'], 'type': 'string'}, 'limit': {'type': 'integer'}, 'total': {'type': 'integer'}, 'offset': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_opportunities
Search opportunities
Search published public fellowships, grants, scholarships, prizes, and funded residencies. For matching, start with separate broad calls for the exact topic, synonyms, broader fields, and type-only grants and fellowships. Do not stack sparse topic, career, and location filters during initial discovery. Array values are OR alternatives within one filter; separate filter fields are combined with AND. Search results are candidates only: call get_opportunity before ranking or citing each one.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 10000, 'minimum': 1}, 'sort': {'enum': ['rank', 'deadline', 'name', 'recent'], 'type': 'string', 'default': 'rank'}, 'type': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="types". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Short topic, program, or funder query. Use separate calls for useful synonyms and broader fields.'}, 'topic': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="topics". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'ageMax': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'ageMin': {'type': 'number', 'maximum': 150, 'minimum': 0}, 'career': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="careers". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'locale': {'enum': ['en', 'es'], 'type': 'string', 'default': 'en'}, 'benefit': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="benefits". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'country': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="countries". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'audience': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="audiences". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'openOnly': {'type': 'boolean'}, 'applicant': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="applicants". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'education': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="education". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'lifecycle': {'type': 'array', 'items': {'enum': ['active_accepting', 'active_between_cycles', 'active_no_applications', 'paused', 'ended', 'renamed_or_moved', 'inaccessible', 'unclear'], 'type': 'string'}, 'maxItems': 8, 'description': 'Use exact values returned by list_filter_options with facet="lifecycles". Multiple values are OR alternatives; different filter fields are combined with AND.'}, 'openState': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="openStates". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'residence': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="residences". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'deadlineTo': {'$ref': '#/properties/deadlineFrom'}, 'enrollment': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="enrollments". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'fundedOnly': {'type': 'boolean'}, 'fundingMax': {'type': 'number', 'maximum': 1000000000, 'minimum': 0}, 'fundingMin': {'type': 'number', 'maximum': 1000000000, 'minimum': 0}, 'citizenship': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="citizenships". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'destination': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="destinations". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}, 'durationMax': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Maximum opportunity duration in days.'}, 'durationMin': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Minimum opportunity duration in days.'}, 'rollingOnly': {'type': 'boolean'}, 'deadlineFrom': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'durationUnit': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Filter by the unit stored on duration facts; this does not change the day-based durationMin and durationMax fields.'}, 'fundingShape': {'type': 'array', 'items': {'$ref': '#/properties/type/items'}, 'maxItems': 20, 'description': 'Use exact values returned by list_filter_options with facet="fundingShapes". Multiple values are OR alternatives within this filter; different filter fields are combined with AND.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['opportunities', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['limit', 'offset', 'count', 'total', 'page', 'pages', 'sort'], 'properties': {'page': {'type': 'integer'}, 'sort': {'enum': ['rank', 'deadline', 'name', 'recent'], 'type': 'string'}, 'count': {'type': 'integer'}, 'limit': {'type': 'integer'}, 'pages': {'type': 'integer'}, 'total': {'type': 'integer'}, 'offset': {'type': 'integer'}}, 'additionalProperties': False}, 'opportunities': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'name', 'organization', 'type', 'summary', 'fields', 'eligibleCountries', 'destinationCountries', 'careerStages', 'fundingMinUsd', 'fundingMaxUsd', 'nextDeadline', 'lifecycle', 'recordUrl', 'officialUrl', 'sourceCheckedAt', 'ranking'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'type': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}}, 'ranking': {'type': 'object', 'required': ['position', 'tier', 'score', 'badge', 'reason'], 'properties': {'tier': {'enum': ['S', 'A', 'B', 'Unscored'], 'type': 'string'}, 'badge': {'type': ['string', 'null']}, 'score': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'reason': {'type': ['string', 'null']}, 'position': {'type': 'integer', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'summary': {'type': ['string', 'null']}, 'lifecycle': {'type': 'string'}, 'recordUrl': {'type': 'string', 'format': 'uri'}, 'officialUrl': {'type': 'string', 'format': 'uri'}, 'careerStages': {'type': 'array', 'items': {'type': 'string'}}, 'nextDeadline': {'type': ['string', 'null']}, 'organization': {'type': 'object', 'required': ['id', 'slug', 'name', 'pageAvailable'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'pageAvailable': {'type': 'boolean'}}, 'additionalProperties': False}, 'fundingMaxUsd': {'type': ['number', 'null']}, 'fundingMinUsd': {'type': ['number', 'null']}, 'sourceCheckedAt': {'type': ['string', 'null']}, 'eligibleCountries': {'type': 'array', 'items': {'type': 'string'}}, 'destinationCountries': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Hinzugefügt
list_filter_options
17. September 2026 12:36
Hinzugefügt
get_opportunity
17. September 2026 12:36
Hinzugefügt
search_opportunities
17. September 2026 12:36