Skip to content

Functional Interfaces

synapseclient.api

Functions

delete_entity async

delete_entity(entity_id: str, version_number: int = None, *, synapse_client: Optional[Synapse] = None) -> None

Deletes an entity from Synapse.

PARAMETER DESCRIPTION
entity_id

The ID of the entity. This may include version syn123.0 or syn123. If the version is included in entity_id and version_number is also passed in, then the version in entity_id will be used.

TYPE: str

version_number

The version number of the entity to delete.

TYPE: int DEFAULT: None

synapse_client

If not passed in and caching was not disabled by Synapse.allow_client_caching(False) this will use the last created instance from the Synapse class constructor.

TYPE: Optional[Synapse] DEFAULT: None

Delete the entity syn123:

This will delete all versions of the entity.

import asyncio
from synapseclient import Synapse
from synapseclient.api import delete_entity

syn = Synapse()
syn.login()


async def main():
    await delete_entity(entity_id="syn123")

asyncio.run(main())
Delete a specific version of the entity syn123:

This will delete version 3 of the entity.

import asyncio
from synapseclient import Synapse
from synapseclient.api import delete_entity

syn = Synapse()
syn.login()


async def main():
    await delete_entity(entity_id="syn123", version_number=3)

asyncio.run(main())

Returns: None

Source code in synapseclient/api/entity_services.py
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
async def delete_entity(
    entity_id: str,
    version_number: int = None,
    *,
    synapse_client: Optional["Synapse"] = None,
) -> None:
    """
    Deletes an entity from Synapse.

    Arguments:
        entity_id: The ID of the entity. This may include version `syn123.0` or `syn123`.
            If the version is included in `entity_id` and `version_number` is also
            passed in, then the version in `entity_id` will be used.
        version_number: The version number of the entity to delete.
        synapse_client: If not passed in and caching was not disabled by
                `Synapse.allow_client_caching(False)` this will use the last created
                instance from the Synapse class constructor.

    Example: Delete the entity `syn123`:
        This will delete all versions of the entity.

        ```python
        import asyncio
        from synapseclient import Synapse
        from synapseclient.api import delete_entity

        syn = Synapse()
        syn.login()


        async def main():
            await delete_entity(entity_id="syn123")

        asyncio.run(main())
        ```

    Example: Delete a specific version of the entity `syn123`:
        This will delete version `3` of the entity.

        ```python
        import asyncio
        from synapseclient import Synapse
        from synapseclient.api import delete_entity

        syn = Synapse()
        syn.login()


        async def main():
            await delete_entity(entity_id="syn123", version_number=3)

        asyncio.run(main())
        ```

    Returns: None
    """
    from synapseclient import Synapse

    client = Synapse.get_client(synapse_client=synapse_client)

    syn_id, syn_version = get_synid_and_version(entity_id)
    if not syn_version:
        syn_version = version_number

    if syn_version:
        return await client.rest_delete_async(
            uri=f"/entity/{syn_id}/version/{syn_version}",
        )
    else:
        return await client.rest_delete_async(
            uri=f"/entity/{syn_id}",
        )