Route Description
GET /orgs/:orgId Get details of the organization
GET /orgs/:orgId/users Get list of users with access to an organization
PUT /users/:user Update user details
GET /users/:user/orgs Get list of organizations a user has access to
DELETE /users/:user Delete user
DELETE /orgs/:org/users/:user Remove user’s access to organization
POST /orgs/:org/users/:user Grant user access to organization
GET /orgs/:orgId/tags Get all tags
GET /orgs/:orgId/tag-info Get all tags with counts
DELETE /orgs/:orgId/tags Delete tags

Get details of the organization

Get detail of the organization

GET /orgs/:orgId

Request Parameters

  • orgId: ID of the organization
  • down: Whether to include full details on the org including list of test cases, etc. Defaults to true.

Sample Response

{
  "data": {
    "id": 2,
    "createdAt": "2017-02-27T09:14:31.033Z",
    "updatedAt": "2023-12-18T23:09:44.163Z",
    "name": "demo@testable.io",
    "email": "demo@testable.io",
    "settings": {
      "reassignOnFail": "true",
      "percentiles": "50,90,95,99,99.9",
      ...
    },
    "public": false,
    "shared": false,
    "active": true,
    "account": {
      "id": 532,
      "createdAt": "2022-05-02T15:28:02.174Z",
      "updatedAt": "2024-04-11T13:44:55.548Z",
      "balance": 0,
      "balanceLimit": 7500,
      "balanceAlertSent": false,
      "limits": [],
      "paymentGateway": "Manual",
      "gatewayId": "yyy",
      "locked": false,
      "subscriptions": [],
      "currentInvoice": {},
      "primaryOrgId": 2,
      "purchasedPlans": [],
      "allocations": [],
      "totalExecutions": 576,
      "queuedExecutions": 55,
      "totalQueuedTime": 292382830,
      "failedQueuedExecutions": 11,
      "firstVersion": false
    },
    "users": [
      {
        "user": {
          "id": 1,
          "createdAt": "2017-02-27T09:14:30.869Z",
          "updatedAt": "2024-04-11T03:22:33.226Z",
          "lastLoggedIn": "2024-04-11T03:22:33.226Z",
          "name": "Demo Acct",
          "email": "demo@testable.io",
          "accessType": "Admin",
          "confirmed": true,
          "active": true,
          "authSource": "Password",
          "authSubdomain": "",
          "hmac": "7D57E16D43F2966F79A229C9D47692A129D449EA86C4BFCABDD98804AD1CA325",
          "orgAssociations": [],
          "firstVersion": false
        },
        "userRole": "Admin"
      }
    ],
    "testCases": [],
    "tokens": [],
    "integrations": [],
    "triggers": [],
    "hasLinkedOrgs": true,
    "todaySuccessHistory": [],
    "yesterdaySuccessHistory": [],
    "notifications": [],
    "includedFeatures": [],
    "excludedFeatures": [],
    "firstVersion": false
  }
}

Get list of users with access to an organization

Get the list of users with access to an organization.

GET /orgs/:orgId/users

Request Parameters

  • orgId: ID of the organization

Sample Response

[
  {
    "user": {
      "id": 1,
      "createdAt": "2017-02-27T09:14:30.869Z",
      "updatedAt": "2024-04-11T03:22:33.226Z",
      "lastLoggedIn": "2024-04-11T03:22:33.226Z",
      "name": "Demo Acct",
      "email": "demo@testable.io",
      "accessType": "Admin",
      "confirmed": true,
      "active": true,
      "authSource": "Password",
      "authSubdomain": "",
      "hmac": "7D57E16D43F2966F79A229C9D47692A129D449EA86C4BFCABDD98804AD1CA325",
      "orgAssociations": [],
      "firstVersion": false
    },
    "userRole": "Admin"
  },
  {
    "user": {
      "id": 2,
      "createdAt": "2017-07-16T04:33:21.804Z",
      "updatedAt": "2023-03-15T22:10:35.988Z",
      "lastLoggedIn": "2023-03-15T22:10:35.988Z",
      "name": "Demo Two",
      "email": "demo2@testable.io",
      "accessType": "Regular",
      "confirmed": true,
      "active": true,
      "authSource": "Saml",
      "authSubdomain": "test",
      "hmac": "CBD016FC2F66268E0EF4B856226E7D44BE37A33D4859B1B02D76DD1735910109",
      "orgAssociations": [],
      "firstVersion": false
    },
    "userRole": "Regular"
  }
]

Update user details

Update user details like name and email or change the password (if not using SSO).

PUT /users/:user

Request Parameters

  • user: The name, email, or ID of the user

Request Body

{
  "name": "New Name",
  "email": "newemail@foo.com",
  "oldPassword": "Oldpass123",
  "newPassword": "Newpass.123"
}

Sample Response

{
  "id": 1,
  "createdAt": "2017-02-27T09:14:30.869Z",
  "updatedAt": "2024-04-11T03:22:33.226Z",
  "lastLoggedIn": "2024-04-11T03:22:33.226Z",
  "name": "Demo Acct",
  "email": "demo@testable.io",
  "accessType": "Admin",
  "confirmed": true,
  "active": true,
  "authSource": "Password",
  "authSubdomain": "",
  "hmac": "7D57E16D43F2966F79A229C9D47692A129D449EA86C4BFCABDD98804AD1CA325",
  "firstVersion": false
}

Get list of organizations a user has access to

Get the list of organizations a user has access to

GET /users/:users/orgs

Request Parameters

  • user: The name, email, or ID of the user

Sample Response

[
  {
    "data": {
      "id": 20,
      "createdAt": "2018-12-11T19:24:31.327Z",
      "updatedAt": "2018-12-11T19:25:01.353Z",
      "name": "avi2@testable.io",
      "email": "avi2@testable.io",
      "settings": {},
      "public": false,
      "shared": false,
      "active": true,
      "account": {
        "id": 542,
        "createdAt": "2022-05-02T15:28:05.469Z",
        "updatedAt": "2024-04-11T13:44:55.863Z",
        "balance": 0,
        "balanceLimit": 0,
        "balanceAlertSent": false,
        "limits": [],
        "paymentGateway": "Stripe",
        "locked": false,
        "subscriptions": [],
        "currentInvoice": {},
        "primaryOrgId": 20,
        "purchasedPlans": [],
        "allocations": [],
        "totalExecutions": 0,
        "queuedExecutions": 0,
        "totalQueuedTime": 0,
        "failedQueuedExecutions": 0,
        "firstVersion": false
      },
      "testCases": [],
      "tokens": [],
      "integrations": [],
      "triggers": [],
      "ipFilters": [],
      "hasLinkedOrgs": false,
      "todaySuccessHistory": [],
      "yesterdaySuccessHistory": [],
      "notifications": [],
      "includedFeatures": [],
      "excludedFeatures": [],
      "firstVersion": false
    },
    "_links": {
      "_self": "https://dev.testable.io:8080/users/9/orgs/20"
    }
  }
]

Delete user

Delete a user from Testable

DELETE /users/:user

Request Parameters

  • user: The name, email, or ID of the user

Responds with a 201 status if successful with no body.

Remove user’s access to organization

Remove a user’s access to a particular organization.

DELETE /users/:user/orgs/:org
DELETE /orgs/:org/users/:user

Request Parameters

  • user: The name, email, or ID of the user
  • org: The ID of the organization

Grant user access to organization

Grant a user access to an organization

POST /users/:user/orgs/:org
POST /orgs/:org/users/:user

Request Parameters

  • user: The name, email, or ID of the user
  • org: The ID of the organization

Get tags

Get all tags used across the organization

GET /orgs/:orgId/tags

Request Parameters

  • orgId: ID of the organization, found via Org Mgmt => Name & Members (check the ID in the URL)

Sample Response

[
    {
        "id": 2526,
        "createdAt": "2024-11-15T00:17:45.856Z",
        "updatedAt": "2024-11-15T00:17:45.856Z",
        "name": "functional-test-session-1731629862",
        "inherited": false,
        "firstVersion": true
    },
    ...
]

Get all tags with counts

Get all tags used across the organization with support for paging. For each tag you can optionally get a count of matching tests and a breakdown of pass/fail test counts.

GET /orgs/:orgId/tag-info

Request Parameters

  • orgId: ID of the organization, found via Org Mgmt => Name & Members (check the ID in the URL)
  • offset: Offset within the list of tags (defaults to 0)
  • limit: Maximum number of tags to return (defaults to 100)
  • includeCounts: Whether to include matching test counts (defaults to false).

Sample Response

[
    {
        "id": 1589,
        "createdAt": "2025-01-25T04:06:18.000Z",
        "updatedAt": "2025-01-25T04:08:12.600Z",
        "tagId": 5454,
        "parentId": 3278,
        "tag": {
            "id": 5454,
            "createdAt": "2025-01-25T04:06:21.250Z",
            "updatedAt": "2025-01-25T04:06:21.250Z",
            "name": "functional-test-session-1737777978",
            "inherited": false,
            "firstVersion": true
        },
        "matchCountInfo": {
            "total": 118,
            "success": 117,
            "failures": 1
        },
        "firstVersion": false
    },
    ...
]

Delete tags

There are 4 different routes to delete tags

DELETE /orgs/:orgId/tags/:tagId
DELETE /orgs/:orgId/tags
DELETE /orgs/:orgId/tags-byname/:tagName
DELETE /orgs/:orgId/tags-byname

Request Parameters

  • orgId: ID of the organization, found via Org Mgmt => Name & Members (check the ID in the URL)

For DELETE /orgs/:orgId/tags/:tagId:

  • tagId: The id of the tag to delete (found via get tags routes)

For DELETE /orgs/:orgId/tags-byname/:tagName:

  • tagName: The tag to delete

Request Body

For DELETE /orgs/:orgId/tags:

[ 1, 2, 3 ]

Request Body

For DELETE /orgs/:orgId/tags-byname:

[ "tag1", "tag2", "tag3" ]