Available methods:
Limitation on search results:
Please note that, since diaspora* is a distributed social network, search results may vary from pod to pod. At the moment, there is no general distribution of content implemented, so a pod is only able to search items explicitly sent to the pod.
Contains users that matches the selected criteria. Please note that, at this moment, only one selector can be enabled at the same time.
Required API scope: public:read
Optional API scope: contacts:read
GET /api/v1/search/users
| Name | Type | Description |
|---|---|---|
| name_or_handle | string | Part or entire profile name or diaspora* handle. |
| tag | string | A tag that the person is tagged with. |
The filter parameter can be given zero or more times. Each one narrows down the
search result, in other words multiple filter parameters are joined with a logical and.
The possible values are:
contacts: Limits the results to the currently authenticated user’s contacts. Requires the contacts:read scope.contacts:receiving: Limits the results to the currently authenticated user’s contacts that the user is sharing with. Requires the contacts:read scope.contacts:sharing: Limits the results to the currently authenticated user’s contacts that are sharing with the user. Requires the contacts:read scope.aspect:aspect_id,aspect_id,...: For example aspect:123 or aspect:123,567. Limits the results to users that are in either of the given aspects. Requires the contacts:read scope.Examples:
filter[]=contacts:receiving&filter[]=contacts:sharing: Only return users that have a mutal sharing status with the current user.filter=aspect:123,567: Only return users that are either in aspect 123 or in aspect 567 (or in both).filter[]=aspect:123&filter[]=aspect:567: Only return users that in both, aspect 123 and 567.[
{
"guid": "cb7e4aa0b82f0133e40d406c8f31e210",
"diaspora_id": "bob@example.com",
"name": "Bob Testing",
"avatar": "http://example.com/uploads/images/thumb_medium_a51bf501fe86c198c0b1.jpg"
},
{
"guid": "83de2fc0b8cc0133e40d406c8f31e210",
"diaspora_id": "trent@example.com",
"name": "Trent Bob Testing",
"avatar": "http://example.com/uploads/images/thumb_medium_8894c7a0b8cc0133e40d.jpg"
}
]
Please note that, at this moment, this route only allows searching for posts by tags. However, this may be extended in the future.
Required API scope: public:read
Optional API scope: private:read
GET /api/v1/search/posts
| Name | Type | Description |
|---|---|---|
| tag | string | A tag that the post has to contain. |
[
{
"guid": "83d406e0b9b20133e40c406c8f31e210",
"created_at": "2016-02-20T03:46:57.955Z",
"post_type": "StatusMessage",
"title": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a di...",
"body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor.",
"provider_display_name": "ExampleApp",
"public": true,
"nsfw": false,
"author": {
"guid": "f50ffc00b188013355e3705681972339",
"diaspora_id": "alice@example.com",
"name": "Alice Testing",
"avatar": "http://example.com/uploads/images/thumb_medium_83abe5319ef830c2bd84.jpg"
},
"interaction_counters": {
"comments": 14,
"likes": 42,
"reshares": 9
},
"own_interaction_state": {
"liked": false,
"reshated": false,
"subscribed": false
}
},
{
"guid": "466738b0b9c30133e40e406c8f31e210",
"created_at": "2016-02-20T05:47:02.694Z",
"post_type": "StatusMessage",
"title": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a di...",
"body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor.",
"public": true,
"nsfw": false,
"author": {
"guid": "19103170b8cc0133e40d406c8f31e210",
"diaspora_id": "carol@example.com",
"name": "Carol Testing",
"avatar": "http://example.com/uploads/images/thumb_medium_2e1bc500b8cc0133e40d.jpg"
},
"interaction_counters": {
"comments": 14,
"likes": 42,
"reshares": 9
},
"own_interaction_state": {
"liked": false,
"reshated": false,
"subscribed": false
}
}
]
Do a prefix search through all the tags the pod knows.
Required API scope: public:read
GET /api/v1/search/tags
| Name | Type | Description |
|---|---|---|
| query | string | A string the tags have to start with. |
[
"photo",
"photos",
"photograph",
"photographs",
"photographic"
]