{"files":{"SKILL.md":"---\nname: wikipathways-webservices\ndescription: \"WikiPathways Webservices API skill. Use when working with WikiPathways Webservices for listOrganisms, listPathways, getPathway. Covers 26 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# WikiPathways Webservices\nAPI version: 1.0\n\n## Auth\nApiKey auth in query\n\n## Base URL\nhttps://webservice.wikipathways.org/\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /listOrganisms -- verify access\n3. POST /createPathway -- create first createPathway\n\n## Endpoints\n\n26 endpoints across 26 groups. See references/api-spec.lap for full details.\n\n### listOrganisms\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /listOrganisms | listOrganisms |\n\n### listPathways\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /listPathways | listPathways |\n\n### getPathway\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getPathway | getPathway |\n\n### getPathwayInfo\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getPathwayInfo | getPathwayInfoGet some general info about the pathway, such as the name, species, without downloading the GPML. |\n\n### getPathwayHistory\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getPathwayHistory | getPathwayHistoryGet the revision history of a pathway. |\n\n### getRecentChanges\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getRecentChanges | getRecentChangesGet the recently changed pathways.Note: the recent changes table only retains items for a limited time (2 months), so there is no guarantee that you will get all changes when the timestamp points to a date that is more than 2 months in the past. |\n\n### login\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /login | loginStart a logged in session, using an existing WikiPathways account. This function will return an authentication code that can be used to excecute methods that need authentication (e.g. updatePathway). |\n\n### updatePathway\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /updatePathway | updatePathwayUpdate a pathway on the wiki with the given GPML code.Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service. |\n\n### createPathway\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /createPathway | createPathwayCreate a new pathway on the wiki with the given GPML code.Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service. |\n\n### findPathwaysByText\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /findPathwaysByText | findPathwaysByText |\n\n### findPathwaysByXref\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /findPathwaysByXref | findPathwaysByXref |\n\n### removeCurationTag\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /removeCurationTag | removeCurationTagRemove a curation tag from a pathway. |\n\n### saveCurationTag\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /saveCurationTag | saveCurationTag |\n\n### getCurationTags\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getCurationTags | getCurationTagsGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag. |\n\n### getCurationTagsByName\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getCurationTagsByName | getCurationTagsByNameGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag. |\n\n### getCurationTagHistory\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getCurationTagHistory | getCurationTagHistory |\n\n### getColoredPathway\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getColoredPathway | getColoredPathwayGet a colored image version of the pathway. |\n\n### findInteractions\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /findInteractions | findInteractionsFind interactions defined in WikiPathways pathways. |\n\n### getXrefList\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getXrefList | getXrefList |\n\n### findPathwaysByLiterature\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /findPathwaysByLiterature | findPathwaysByLiterature |\n\n### saveOntologyTag\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /saveOntologyTag | saveOntologyTag |\n\n### removeOntologyTag\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /removeOntologyTag | removeOntologyTag |\n\n### getOntologyTermsByPathway\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getOntologyTermsByPathway | getOntologyTermsByPathway |\n\n### getPathwaysByOntologyTerm\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getPathwaysByOntologyTerm | getPathwaysByOntologyTerm |\n\n### getPathwaysByParentOntologyTerm\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getPathwaysByParentOntologyTerm | getPathwaysByParentOntologyTerm |\n\n### getUserByOrcid\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /getUserByOrcid | getUserByOrcid |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all listOrganisms?\" -> GET /listOrganisms\n- \"List all listPathways?\" -> GET /listPathways\n- \"List all getPathway?\" -> GET /getPathway\n- \"List all getPathwayInfo?\" -> GET /getPathwayInfo\n- \"List all getPathwayHistory?\" -> GET /getPathwayHistory\n- \"List all getRecentChanges?\" -> GET /getRecentChanges\n- \"List all login?\" -> GET /login\n- \"List all updatePathway?\" -> GET /updatePathway\n- \"Create a createPathway?\" -> POST /createPathway\n- \"Search findPathwaysByText?\" -> GET /findPathwaysByText\n- \"List all findPathwaysByXref?\" -> GET /findPathwaysByXref\n- \"List all removeCurationTag?\" -> GET /removeCurationTag\n- \"List all saveCurationTag?\" -> GET /saveCurationTag\n- \"List all getCurationTags?\" -> GET /getCurationTags\n- \"List all getCurationTagsByName?\" -> GET /getCurationTagsByName\n- \"List all getCurationTagHistory?\" -> GET /getCurationTagHistory\n- \"List all getColoredPathway?\" -> GET /getColoredPathway\n- \"Search findInteractions?\" -> GET /findInteractions\n- \"List all getXrefList?\" -> GET /getXrefList\n- \"Search findPathwaysByLiterature?\" -> GET /findPathwaysByLiterature\n- \"List all saveOntologyTag?\" -> GET /saveOntologyTag\n- \"List all removeOntologyTag?\" -> GET /removeOntologyTag\n- \"List all getOntologyTermsByPathway?\" -> GET /getOntologyTermsByPathway\n- \"List all getPathwaysByOntologyTerm?\" -> GET /getPathwaysByOntologyTerm\n- \"List all getPathwaysByParentOntologyTerm?\" -> GET /getPathwaysByParentOntologyTerm\n- \"List all getUserByOrcid?\" -> GET /getUserByOrcid\n- \"How to authenticate?\" -> See Auth section\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints typically return the created/updated object\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get wikipathways-webservices -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search wikipathways-webservices\n```\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api WikiPathways Webservices\n@base https://webservice.wikipathways.org/\n@version 1.0\n@auth ApiKey auth in query\n@common_fields {format: any}\n@endpoints 26\n@hint download_for_search\n@toc listOrganisms(1), listPathways(1), getPathway(1), getPathwayInfo(1), getPathwayHistory(1), getRecentChanges(1), login(1), updatePathway(1), createPathway(1), findPathwaysByText(1), findPathwaysByXref(1), removeCurationTag(1), saveCurationTag(1), getCurationTags(1), getCurationTagsByName(1), getCurationTagHistory(1), getColoredPathway(1), findInteractions(1), getXrefList(1), findPathwaysByLiterature(1), saveOntologyTag(1), removeOntologyTag(1), getOntologyTermsByPathway(1), getPathwaysByOntologyTerm(1), getPathwaysByParentOntologyTerm(1), getUserByOrcid(1)\n\n@group listOrganisms\n@endpoint GET /listOrganisms\n@desc listOrganisms\n@returns(200) everything ok\n\n@endgroup\n\n@group listPathways\n@endpoint GET /listPathways\n@desc listPathways\n@optional {organism: any # The organism to filter by (optional)}\n@returns(200) everything ok\n\n@endgroup\n\n@group getPathway\n@endpoint GET /getPathway\n@desc getPathway\n@required {pwId: any # The pathway identifier}\n@optional {revision: any # The revision number of the pathway (use 0 for most recent)}\n@returns(200) everything ok\n\n@endgroup\n\n@group getPathwayInfo\n@endpoint GET /getPathwayInfo\n@desc getPathwayInfoGet some general info about the pathway, such as the name, species, without downloading the GPML.\n@required {pwId: any # The pathway identifier}\n@returns(200) everything ok\n\n@endgroup\n\n@group getPathwayHistory\n@endpoint GET /getPathwayHistory\n@desc getPathwayHistoryGet the revision history of a pathway.\n@required {pwId: any # The pathway identifier, timestamp: any # Limit by time, only history items after the given}\n@returns(200) everything ok\n\n@endgroup\n\n@group getRecentChanges\n@endpoint GET /getRecentChanges\n@desc getRecentChangesGet the recently changed pathways.Note: the recent changes table only retains items for a limited time (2 months), so there is no guarantee that you will get all changes when the timestamp points to a date that is more than 2 months in the past.\n@required {timestamp: any # Get the changes after this time}\n@returns(200) everything ok\n\n@endgroup\n\n@group login\n@endpoint GET /login\n@desc loginStart a logged in session, using an existing WikiPathways account. This function will return an authentication code that can be used to excecute methods that need authentication (e.g. updatePathway).\n@required {name: any # The usernameset_include_path(get_include_path().PATH_SEPARATOR.realpath('../includes').PATH_SEPARATOR.realpath('../').PATH_SEPARATOR);, pass: any # The password}\n@returns(200) everything ok\n\n@endgroup\n\n@group updatePathway\n@endpoint GET /updatePathway\n@desc updatePathwayUpdate a pathway on the wiki with the given GPML code.Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service.\n@required {pwId: any # The pathway identifier, description: any # A description of the modifications, gpml: any # The updated GPML code, revision: any # The revision the GPML code is based on, auth: any # The authentication key, username: any # The username}\n@returns(200) everything ok\n\n@endgroup\n\n@group createPathway\n@endpoint POST /createPathway\n@desc createPathwayCreate a new pathway on the wiki with the given GPML code.Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service.\n@required {gpml: any # The GPML code for the new pathway, auth: any # The authentication info, username: any # The user name}\n@returns(200) everything ok\n\n@endgroup\n\n@group findPathwaysByText\n@endpoint GET /findPathwaysByText\n@desc findPathwaysByText\n@required {query: any # The query, e.g. 'apoptosis'}\n@optional {species: any # Optional, limit the query by species. Leave}\n@returns(200) everything ok\n\n@endgroup\n\n@group findPathwaysByXref\n@endpoint GET /findPathwaysByXref\n@desc findPathwaysByXref\n@required {ids: any # string}\n@optional {codes: any # string}\n@returns(200) everything ok\n\n@endgroup\n\n@group removeCurationTag\n@endpoint GET /removeCurationTag\n@desc removeCurationTagRemove a curation tag from a pathway.\n@required {pwId: any # The pathway identifier, tagName: any # The name of the tag to apply, auth: any # The authentication data, username: any # The user name}\n@returns(200) everything ok\n\n@endgroup\n\n@group saveCurationTag\n@endpoint GET /saveCurationTag\n@desc saveCurationTag\n@required {pwId: any # The pathway identifier, tagName: any # The name of the tag to apply, text: any # string, revision: any # The revision this tag applies to, auth: any # The authentication key, username: any # The user name}\n@returns(200) everything ok\n\n@endgroup\n\n@group getCurationTags\n@endpoint GET /getCurationTags\n@desc getCurationTagsGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag.\n@required {pwId: any # The pathway identifier}\n@returns(200) everything ok\n\n@endgroup\n\n@group getCurationTagsByName\n@endpoint GET /getCurationTagsByName\n@desc getCurationTagsByNameGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag.\n@required {tagName: any # The tag name}\n@returns(200) everything ok\n\n@endgroup\n\n@group getCurationTagHistory\n@endpoint GET /getCurationTagHistory\n@desc getCurationTagHistory\n@required {pwId: any # The pathway identifier}\n@optional {timestamp: any # Only include history from after the given date}\n@returns(200) everything ok\n\n@endgroup\n\n@group getColoredPathway\n@endpoint GET /getColoredPathway\n@desc getColoredPathwayGet a colored image version of the pathway.\n@required {pwId: any # The pathway identifier, revision: any # The revision of the pathway (use '0' for most recent), graphId: any # string, color: any # string, fileType: any # The image type (One of 'svg', 'pdf' or 'png').}\n@returns(200) everything ok\n\n@endgroup\n\n@group findInteractions\n@endpoint GET /findInteractions\n@desc findInteractionsFind interactions defined in WikiPathways pathways.\n@required {query: any # The name of an entity to find interactions for (e.g. 'P53')}\n@returns(200) everything ok\n\n@endgroup\n\n@group getXrefList\n@endpoint GET /getXrefList\n@desc getXrefList\n@required {pwId: any # The pathway identifier., code: any # The database code to translate to (e.g. 'S' for UniProt).}\n@returns(200) everything ok\n\n@endgroup\n\n@group findPathwaysByLiterature\n@endpoint GET /findPathwaysByLiterature\n@desc findPathwaysByLiterature\n@required {query: any # The query, can be a pubmed id, author name or title keyword.}\n@returns(200) everything ok\n\n@endgroup\n\n@group saveOntologyTag\n@endpoint GET /saveOntologyTag\n@desc saveOntologyTag\n@required {pwId: any # The pathway identifier, term: any # The ontology term to apply, termId: any # The identifier of the term in the ontology, auth: any # The authentication key, user: any # The username}\n@returns(200) everything ok\n\n@endgroup\n\n@group removeOntologyTag\n@endpoint GET /removeOntologyTag\n@desc removeOntologyTag\n@required {pwId: any # The pathway identifier, termId: any # The ontology term identifier in the ontology, auth: any # The authentication key, user: any # The username}\n@returns(200) everything ok\n\n@endgroup\n\n@group getOntologyTermsByPathway\n@endpoint GET /getOntologyTermsByPathway\n@desc getOntologyTermsByPathway\n@required {pwId: any # The pathway identifier}\n@returns(200) everything ok\n\n@endgroup\n\n@group getPathwaysByOntologyTerm\n@endpoint GET /getPathwaysByOntologyTerm\n@desc getPathwaysByOntologyTerm\n@required {term: any # The Ontology term}\n@returns(200) everything ok\n\n@endgroup\n\n@group getPathwaysByParentOntologyTerm\n@endpoint GET /getPathwaysByParentOntologyTerm\n@desc getPathwaysByParentOntologyTerm\n@required {term: any # The Ontology term}\n@returns(200) everything ok\n\n@endgroup\n\n@group getUserByOrcid\n@endpoint GET /getUserByOrcid\n@desc getUserByOrcid\n@required {orcid: any # string}\n@returns(200) everything ok\n\n@endgroup\n\n@end\n"}}