Connections
Returns connections where the given URL is the source or target, optionally filtered by direction and type.
A short identifier for your integration (e.g. my-plugin, mcp). Please set this if you are building an integration — it helps Semble understand which tools people use. Values are lowercased before being recorded, so MyPlugin and myplugin are the same client. After lowercasing the value must match ^[a-z0-9][a-z0-9_-]{0,31}$; values that do not are ignored, and the client is inferred from the auth method instead.
my-pluginPattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,31}$200
GET /xrpc/network.cosmik.connection.getForUrl?url=text HTTP/1.1
Host: api.semble.so
Accept: */*
200
{
"connections": [
{
"connection": {
"id": "text",
"type": "text",
"note": "text",
"createdAt": "text",
"updatedAt": "text",
"curator": {
"id": "text",
"name": "text",
"handle": "text",
"avatarUrl": "text",
"bannerUrl": "text",
"description": "text",
"isFollowing": true,
"isSubscribed": true,
"subscriptionScopes": [
"CARD"
],
"followsYou": true,
"followerCount": 1,
"followingCount": 1,
"followedCollectionsCount": 1,
"urlCardCount": 1,
"collectionCount": 1,
"connectionCount": 1,
"connectionsByType": {
"total": 1,
"ANY_ADDITIONAL_PROPERTY": 1
},
"labels": [
{
"$type": "com.atproto.label.defs#label",
"ver": 1,
"src": "text",
"uri": "text",
"cid": "text",
"val": "text",
"neg": true,
"cts": "text",
"exp": "text",
"sig": null
}
]
}
},
"source": {
"url": "text",
"metadata": {
"url": "text",
"title": "text",
"description": "text",
"author": "text",
"publishedDate": "text",
"siteName": "text",
"imageUrl": "text",
"type": "text",
"retrievedAt": "text",
"doi": "text",
"isbn": "text"
},
"urlLibraryCount": 1,
"urlInLibrary": true,
"urlConnectionCount": 1,
"urlIsConnected": true
},
"target": {
"url": "text",
"metadata": {
"url": "text",
"title": "text",
"description": "text",
"author": "text",
"publishedDate": "text",
"siteName": "text",
"imageUrl": "text",
"type": "text",
"retrievedAt": "text",
"doi": "text",
"isbn": "text"
},
"urlLibraryCount": 1,
"urlInLibrary": true,
"urlConnectionCount": 1,
"urlIsConnected": true
}
}
],
"pagination": {
"currentPage": 1,
"totalPages": 1,
"totalCount": 1,
"hasMore": true,
"limit": 1
},
"sorting": {
"sortBy": "createdAt",
"sortOrder": "asc"
}
}Creates a typed link between two URLs with an optional note.
A short identifier for your integration (e.g. my-plugin, mcp). Please set this if you are building an integration — it helps Semble understand which tools people use. Values are lowercased before being recorded, so MyPlugin and myplugin are the same client. After lowercasing the value must match ^[a-z0-9][a-z0-9_-]{0,31}$; values that do not are ignored, and the client is inferred from the auth method instead.
my-pluginPattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,31}$200
POST /xrpc/network.cosmik.connection.create HTTP/1.1
Host: api.semble.so
Content-Type: application/json
Accept: */*
Content-Length: 123
{
"sourceType": "URL",
"sourceValue": "text",
"targetType": "URL",
"targetValue": "text",
"connectionType": "SUPPORTS",
"note": "text"
}200
{
"connectionId": "text"
}Returns a paginated list of connections created by a user, identified by handle or DID. Filterable by connection type.
A short identifier for your integration (e.g. my-plugin, mcp). Please set this if you are building an integration — it helps Semble understand which tools people use. Values are lowercased before being recorded, so MyPlugin and myplugin are the same client. After lowercasing the value must match ^[a-z0-9][a-z0-9_-]{0,31}$; values that do not are ignored, and the client is inferred from the auth method instead.
my-pluginPattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,31}$200
GET /xrpc/network.cosmik.connection.listByUser?identifier=text HTTP/1.1
Host: api.semble.so
Accept: */*
200
{
"connections": [
{
"connection": {
"id": "text",
"type": "text",
"note": "text",
"createdAt": "text",
"updatedAt": "text",
"curator": {
"id": "text",
"name": "text",
"handle": "text",
"avatarUrl": "text",
"bannerUrl": "text",
"description": "text",
"isFollowing": true,
"isSubscribed": true,
"subscriptionScopes": [
"CARD"
],
"followsYou": true,
"followerCount": 1,
"followingCount": 1,
"followedCollectionsCount": 1,
"urlCardCount": 1,
"collectionCount": 1,
"connectionCount": 1,
"connectionsByType": {
"total": 1,
"ANY_ADDITIONAL_PROPERTY": 1
},
"labels": [
{
"$type": "com.atproto.label.defs#label",
"ver": 1,
"src": "text",
"uri": "text",
"cid": "text",
"val": "text",
"neg": true,
"cts": "text",
"exp": "text",
"sig": null
}
]
}
},
"source": {
"url": "text",
"metadata": {
"url": "text",
"title": "text",
"description": "text",
"author": "text",
"publishedDate": "text",
"siteName": "text",
"imageUrl": "text",
"type": "text",
"retrievedAt": "text",
"doi": "text",
"isbn": "text"
},
"urlLibraryCount": 1,
"urlInLibrary": true,
"urlConnectionCount": 1,
"urlIsConnected": true
},
"target": {
"url": "text",
"metadata": {
"url": "text",
"title": "text",
"description": "text",
"author": "text",
"publishedDate": "text",
"siteName": "text",
"imageUrl": "text",
"type": "text",
"retrievedAt": "text",
"doi": "text",
"isbn": "text"
},
"urlLibraryCount": 1,
"urlInLibrary": true,
"urlConnectionCount": 1,
"urlIsConnected": true
}
}
],
"pagination": {
"currentPage": 1,
"totalPages": 1,
"totalCount": 1,
"hasMore": true,
"limit": 1
},
"sorting": {
"sortBy": "createdAt",
"sortOrder": "asc"
}
}Updates the type, note, or direction of an existing connection.
A short identifier for your integration (e.g. my-plugin, mcp). Please set this if you are building an integration — it helps Semble understand which tools people use. Values are lowercased before being recorded, so MyPlugin and myplugin are the same client. After lowercasing the value must match ^[a-z0-9][a-z0-9_-]{0,31}$; values that do not are ignored, and the client is inferred from the auth method instead.
my-pluginPattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,31}$200
POST /xrpc/network.cosmik.connection.update HTTP/1.1
Host: api.semble.so
Content-Type: application/json
Accept: */*
Content-Length: 95
{
"connectionId": "text",
"connectionType": "SUPPORTS",
"note": "text",
"removeNote": true,
"swap": true
}200
{
"connectionId": "text"
}Permanently deletes a connection owned by the authenticated user.
A short identifier for your integration (e.g. my-plugin, mcp). Please set this if you are building an integration — it helps Semble understand which tools people use. Values are lowercased before being recorded, so MyPlugin and myplugin are the same client. After lowercasing the value must match ^[a-z0-9][a-z0-9_-]{0,31}$; values that do not are ignored, and the client is inferred from the auth method instead.
my-pluginPattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,31}$200
POST /xrpc/network.cosmik.connection.delete HTTP/1.1
Host: api.semble.so
Content-Type: application/json
Accept: */*
Content-Length: 23
{
"connectionId": "text"
}200
{
"connectionId": "text"
}Last updated

