List experiment approvals
GET /experiments/{experiment}/approvals. Parameters, permissions, request and response schemas.
GET /experiments/{experiment}/approvals
List experiment approvals. Requires the REST read token ability. The bearer token selects the Team; a supplied team_id cannot switch tenants. Additional role, entity-policy and plan requirements vary by operation.
Authentication
Use a team API key as Authorization: Bearer YOUR_API_KEY. The token ability and the user’s role must both allow this operation. See authentication.
{
"ability": "read",
"team": "Token-bound Team",
"authorization": "Additional role, entity-policy and plan requirements vary by operation."
}Parameters
| Name | Location | Required | Description |
|---|---|---|---|
experiment | path | Yes | The experiment ID |
experiment
{
"type": "integer",
"minimum": 1
}Example request
curl --request GET 'https://api.example.test/api/experiments/1/approvals' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Accept: application/json'Examples use fictional data. Replace resource IDs and the API host with your environment’s values.
Responses
200
Array of ExperimentApprovalResource
Content type: application/json.
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"experiment_id": {
"type": "integer"
},
"user_id": {
"type": "integer"
},
"status": {
"type": "string"
},
"notes": {
"type": [
"string",
"null"
]
},
"approved_at": {
"type": "string"
},
"created_at": {
"type": [
"string",
"null"
]
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"avatar": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"email",
"avatar"
]
}
},
"required": [
"id",
"experiment_id",
"user_id",
"status",
"notes",
"approved_at",
"created_at"
],
"title": "ExperimentApprovalResource"
}
}
},
"required": [
"data"
]
}{
"data": [
{
"id": 101,
"experiment_id": 101,
"user_id": 101,
"status": "example",
"notes": null,
"approved_at": "example",
"created_at": null
}
]
}401
Unauthenticated
Content type: application/json.
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Error overview."
}
},
"required": [
"message"
]
}{
"message": "The request could not be completed."
}403
Authorization error
Content type: application/json.
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Error overview."
}
},
"required": [
"message"
]
}{
"message": "The request could not be completed."
}404
Not found
Content type: application/json.
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Error overview."
}
},
"required": [
"message"
]
}{
"message": "The request could not be completed."
}429
Rate limit exceeded. Honor Retry-After before retrying.
Response headers:
{
"Retry-After": {
"description": "Seconds before retrying.",
"schema": {
"type": "integer"
}
}
}Content type: application/json.
{
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "Too Many Attempts."
}
},
"required": [
"message"
]
}{
"message": "Too Many Attempts."
}See API conventions for error handling, rate limits, pagination, and uploads.