Apps
Retrieve a paginated list of applications built on Ethos. Supports filtering by app type (APP, INTEGRATION, AGENT) and status (ACTIVE, INACTIVE).
Query parameters
appTypestring · enumOptionalPossible values:
statusstring · enumOptionalPossible values:
limitinteger · max: 50OptionalDefault:
50
offsetnumberOptionalDefault:
0
Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
GET /api/v2/apps HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"values": [
{
"id": 1,
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE",
"createdAt": "text",
"updatedAt": "text",
"author": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
],
"total": 1,
"limit": 1,
"offset": 1
}
Authorizations
Body
namestring · min: 1 · max: 100Required
appTypestring · enumRequiredPossible values:
authorUserIdintegerRequired
linkstring · uriRequired
descriptionstring · min: 1 · max: 1000Required
pictureUrlstring · uriOptional
statusstring · enumOptionalPossible values:
Responses
200
Successful response
application/json
400
Invalid input data
application/json
401
Authorization not provided
application/json
403
Insufficient access
application/json
500
Internal server error
application/json
post
POST /api/v2/apps HTTP/1.1
Host: api.ethos.network
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 151
{
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE"
}
{
"id": 1,
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE",
"createdAt": "text",
"updatedAt": "text",
"author": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
Path parameters
idintegerRequired
Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
GET /api/v2/apps/{id} HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"id": 1,
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE",
"createdAt": "text",
"updatedAt": "text",
"author": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
Path parameters
appTypestring · enumRequiredPossible values:
Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
GET /api/v2/apps/by-type/{appType} HTTP/1.1
Host: api.ethos.network
Accept: */*
[
{
"id": 1,
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE",
"createdAt": "text",
"updatedAt": "text",
"author": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
]
Authorizations
Path parameters
appIdintegerRequired
Body
namestring · min: 1 · max: 100Optional
appTypestring · enumOptionalPossible values:
authorUserIdintegerOptional
linkstring · uriOptional
descriptionstring · min: 1 · max: 1000Optional
pictureUrlstring · uriOptional
statusstring · enumOptionalPossible values:
Responses
200
Successful response
application/json
400
Invalid input data
application/json
401
Authorization not provided
application/json
403
Insufficient access
application/json
404
Not found
application/json
500
Internal server error
application/json
put
PUT /api/v2/apps/{appId} HTTP/1.1
Host: api.ethos.network
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 151
{
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE"
}
{
"id": 1,
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE",
"createdAt": "text",
"updatedAt": "text",
"author": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
Authorizations
Path parameters
appIdintegerRequired
Responses
200
Successful response
application/json
400
Invalid input data
application/json
401
Authorization not provided
application/json
403
Insufficient access
application/json
404
Not found
application/json
500
Internal server error
application/json
delete
DELETE /api/v2/apps/{appId} HTTP/1.1
Host: api.ethos.network
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": 1,
"name": "text",
"appType": "APP",
"authorUserId": 1,
"link": "https://example.com",
"description": "text",
"pictureUrl": "https://example.com",
"status": "ACTIVE",
"createdAt": "text",
"updatedAt": "text",
"author": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}