Delulu documentation
Reviews
5 endpoints in the Reviews API group.
Generated from the typed server contract. Download the complete OpenAPI 3.1 specification.
reviews.queue
GET
/v1/workspaces/{workspaceId}/reviewsParameters
| Name | In | Required | Type |
|---|---|---|---|
workspaceId | path | yes | string |
limit | query | no | value |
offset | query | no | value |
Request body
No request body.
Responses
| Status | Meaning |
|---|---|
200 | Success |
401 | UnauthorizedError |
402 | QuotaExceededError |
403 | ForbiddenError |
404 | NotFoundError |
409 | ConflictError |
422 | ValidationError |
429 | RateLimitedError |
Response bodies
200 — application/json
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"postId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected"
]
},
"contentFingerprint": {
"type": "string"
},
"submittedByMemberId": {
"type": "string"
},
"resolvedByMemberId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"resolvedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"postId",
"status",
"contentFingerprint",
"submittedByMemberId",
"resolvedByMemberId",
"resolvedAt"
],
"additionalProperties": false
}
},
"total": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"enum": [
"NaN"
]
},
{
"type": "string",
"enum": [
"Infinity"
]
},
{
"type": "string",
"enum": [
"-Infinity"
]
}
]
},
{
"type": "string",
"enum": [
"Infinity",
"-Infinity",
"NaN"
]
}
]
},
"limit": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"enum": [
"NaN"
]
},
{
"type": "string",
"enum": [
"Infinity"
]
},
{
"type": "string",
"enum": [
"-Infinity"
]
}
]
},
{
"type": "string",
"enum": [
"Infinity",
"-Infinity",
"NaN"
]
}
]
},
"offset": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"enum": [
"NaN"
]
},
{
"type": "string",
"enum": [
"Infinity"
]
},
{
"type": "string",
"enum": [
"-Infinity"
]
}
]
},
{
"type": "string",
"enum": [
"Infinity",
"-Infinity",
"NaN"
]
}
]
}
},
"required": [
"data",
"total",
"limit",
"offset"
],
"additionalProperties": false
}401 — application/json
{
"$ref": "#/components/schemas/UnauthorizedError"
}402 — application/json
{
"$ref": "#/components/schemas/QuotaExceededError"
}403 — application/json
{
"$ref": "#/components/schemas/ForbiddenError"
}404 — application/json
{
"$ref": "#/components/schemas/NotFoundError"
}409 — application/json
{
"$ref": "#/components/schemas/ConflictError"
}422 — application/json
{
"$ref": "#/components/schemas/ValidationError"
}429 — application/json
{
"$ref": "#/components/schemas/RateLimitedError"
}reviews.get For Post
GET
/v1/workspaces/{workspaceId}/reviews/posts/{postId}Parameters
| Name | In | Required | Type |
|---|---|---|---|
workspaceId | path | yes | string |
postId | path | yes | string |
Request body
No request body.
Responses
| Status | Meaning |
|---|---|
200 | Success |
401 | UnauthorizedError |
402 | QuotaExceededError |
403 | ForbiddenError |
404 | NotFoundError |
409 | ConflictError |
422 | ValidationError |
429 | RateLimitedError |
Response bodies
200 — application/json
{
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"postId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected"
]
},
"contentFingerprint": {
"type": "string"
},
"submittedByMemberId": {
"type": "string"
},
"resolvedByMemberId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"resolvedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"postId",
"status",
"contentFingerprint",
"submittedByMemberId",
"resolvedByMemberId",
"resolvedAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}401 — application/json
{
"$ref": "#/components/schemas/UnauthorizedError"
}402 — application/json
{
"$ref": "#/components/schemas/QuotaExceededError"
}403 — application/json
{
"$ref": "#/components/schemas/ForbiddenError"
}404 — application/json
{
"$ref": "#/components/schemas/NotFoundError"
}409 — application/json
{
"$ref": "#/components/schemas/ConflictError"
}422 — application/json
{
"$ref": "#/components/schemas/ValidationError"
}429 — application/json
{
"$ref": "#/components/schemas/RateLimitedError"
}reviews.act
POST
/v1/workspaces/{workspaceId}/reviews/posts/{postId}Parameters
| Name | In | Required | Type |
|---|---|---|---|
workspaceId | path | yes | string |
postId | path | yes | string |
Request body
Required.
application/json
{
"anyOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"submit"
]
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"approve"
]
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"missedSlot": {
"anyOf": [
{
"type": "string",
"enum": [
"publish_now",
"reschedule"
]
},
{
"type": "null"
}
]
},
"scheduledAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"reject"
]
},
"reason": {
"type": "string"
}
},
"required": [
"action",
"reason"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"withdraw"
]
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"comment"
]
},
"comment": {
"type": "string"
}
},
"required": [
"action",
"comment"
],
"additionalProperties": false
}
]
}Responses
| Status | Meaning |
|---|---|
200 | Success |
401 | UnauthorizedError |
402 | QuotaExceededError |
403 | ForbiddenError |
404 | NotFoundError |
409 | ConflictError |
422 | ValidationError |
429 | RateLimitedError |
Response bodies
200 — application/json
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"postId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected"
]
},
"contentFingerprint": {
"type": "string"
},
"submittedByMemberId": {
"type": "string"
},
"resolvedByMemberId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"resolvedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"postId",
"status",
"contentFingerprint",
"submittedByMemberId",
"resolvedByMemberId",
"resolvedAt"
],
"additionalProperties": false
}401 — application/json
{
"$ref": "#/components/schemas/UnauthorizedError"
}402 — application/json
{
"$ref": "#/components/schemas/QuotaExceededError"
}403 — application/json
{
"$ref": "#/components/schemas/ForbiddenError"
}404 — application/json
{
"$ref": "#/components/schemas/NotFoundError"
}409 — application/json
{
"$ref": "#/components/schemas/ConflictError"
}422 — application/json
{
"$ref": "#/components/schemas/ValidationError"
}429 — application/json
{
"$ref": "#/components/schemas/RateLimitedError"
}reviews.activity
GET
/v1/workspaces/{workspaceId}/reviews/posts/{postId}/activityParameters
| Name | In | Required | Type |
|---|---|---|---|
workspaceId | path | yes | string |
postId | path | yes | string |
Request body
No request body.
Responses
| Status | Meaning |
|---|---|
200 | Success |
401 | UnauthorizedError |
402 | QuotaExceededError |
403 | ForbiddenError |
404 | NotFoundError |
409 | ConflictError |
422 | ValidationError |
429 | RateLimitedError |
Response bodies
200 — application/json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"activityType": {
"type": "string",
"enum": [
"review.submitted",
"review.approved",
"review.rejected",
"review.withdrawn",
"review.commented",
"schedule.missed"
]
},
"actorMemberId": {
"type": "string"
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string"
}
},
"required": [
"id",
"activityType",
"actorMemberId",
"comment",
"createdAt"
],
"additionalProperties": false
}
}401 — application/json
{
"$ref": "#/components/schemas/UnauthorizedError"
}402 — application/json
{
"$ref": "#/components/schemas/QuotaExceededError"
}403 — application/json
{
"$ref": "#/components/schemas/ForbiddenError"
}404 — application/json
{
"$ref": "#/components/schemas/NotFoundError"
}409 — application/json
{
"$ref": "#/components/schemas/ConflictError"
}422 — application/json
{
"$ref": "#/components/schemas/ValidationError"
}429 — application/json
{
"$ref": "#/components/schemas/RateLimitedError"
}reviews.bulk Act
POST
/v1/workspaces/{workspaceId}/reviews/bulkParameters
| Name | In | Required | Type |
|---|---|---|---|
workspaceId | path | yes | string |
Request body
Required.
application/json
{
"type": "object",
"properties": {
"postIds": {
"type": "array",
"items": {
"type": "string"
}
},
"action": {
"anyOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"approve"
]
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"reject"
]
},
"reason": {
"type": "string"
}
},
"required": [
"action",
"reason"
],
"additionalProperties": false
}
]
}
},
"required": [
"postIds",
"action"
],
"additionalProperties": false
}Responses
| Status | Meaning |
|---|---|
200 | Success |
401 | UnauthorizedError |
402 | QuotaExceededError |
403 | ForbiddenError |
404 | NotFoundError |
409 | ConflictError |
422 | ValidationError |
429 | RateLimitedError |
Response bodies
200 — application/json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"postId": {
"type": "string"
},
"ok": {
"type": "boolean"
}
},
"required": [
"postId",
"ok"
],
"additionalProperties": false
}
}401 — application/json
{
"$ref": "#/components/schemas/UnauthorizedError"
}402 — application/json
{
"$ref": "#/components/schemas/QuotaExceededError"
}403 — application/json
{
"$ref": "#/components/schemas/ForbiddenError"
}404 — application/json
{
"$ref": "#/components/schemas/NotFoundError"
}409 — application/json
{
"$ref": "#/components/schemas/ConflictError"
}422 — application/json
{
"$ref": "#/components/schemas/ValidationError"
}429 — application/json
{
"$ref": "#/components/schemas/RateLimitedError"
}