API reference

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

NameLocationRequiredDescription
experimentpathYesThe 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.

Was this article helpful?

Need more help? Copy this article's details and paste them into a request on our feedback portal. You may need to sign in.

Open feedback portal

On this page