NAV Navbar
Hiptest logo
http shell

Introduction

Welcome to the Hiptest API! You can use our API endpoints to get information on your projects in our database. It is RESTful and follows the {json:api} specification.

Since we don’t provide integration with any programming languages (yet!), the examples are written in shell, using the curl command.

Our API documentation was created with Slate.

API rate limits

HTTP/1.1 429 Too Many Requests
Retry-After: 42
HTTP/1.1 429 Too Many Requests
# snip #
Retry-After: 42
# snip #

Your application can make up to 200 API requests per minute.

Once the limit is exceeded, clients receive an HTTP 429 with a Retry-After: X header to indicate how long their timeout period is before they will be able to send requests again. The timeout period is set to 60 seconds once the limit is exceeded.

Note

The rate limit is based on the IP address.

Getting Started

This little tutorial will guide you to request our API for the first time.

Your API credentials

Before accessing our API you need to generate your API credentials. Sign in to your account on Hiptest.com then go to your profile page. Click the Generate new API credentials button.

User profile page

User API credentials

Your first request

Replace $PROJECT_ID, $ACCESS_TOKEN, $CLIENT_ID and $UID with yours

GET https://app.hiptest.com/api/projects/$PROJECT_ID/scenarios HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: $ACCESS_TOKEN
client: $CLIENT_ID
uid: $UID
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl https://app.hiptest.com/api/projects/$PROJECT_ID/scenarios \
    -H 'Accept: application/vnd.api+json; version=1' \
    -H 'access-token: $ACCESS_TOKEN' \
    -H 'client: $CLIENT_ID' \
    -H 'uid: $UID'
{
  "data": [
    {
      "type": "scenarios",
      "id": "668555",
      "attributes": {
        "name": "Card has been disabled (1)",
        "description": "An error is displayed when the cart has been disabled"
      },
      "links": {
        "self": "/scenarios/668555"
      }
    },
    {
      "type": "scenarios",
      "id": "668556",
      "attributes": {
        "name": "Account has sufficient funds for transferring cash (1)",
        "description": ""
      },
      "links": {
        "self": "/scenarios/668556"
      }
    }
  ]
}

For your first request, you’ll need your API credentials, and a project ID. All the API endpoints depend on a project. You can retrieve their ID in the address bar of your browser while you are viewing the dashboard of your project.

In the following example we are looking for the ID of the sample project Testing CASH WITHDRAWAL: the ID is 40849.

Retrieve project id

Now to retrieve all the scenarios of your project use the endpoint api/projects/$PROJECT_ID/scenarios. The HTTP call looks like the following:

GET https://app.hiptest.com/api/projects/$PROJECT_ID/scenarios

Replace the $PROJECT_ID with the ID of one of your project. The following headers MUST be part of the query:

Every requests to the API must include those 4 headers.

The access token, the client ID and the UID are your API Credentials.

The header Accept tells the API to respond using the {json:api} format and asks for the version 1 of the API.

Renewing your API Credentials

Replace $EMAIL_ADDRESS and $PASSWORD with your Hiptest credentials

POST https://app.hiptest.com/api/auth/sign_in HTTP/1.1
Content-Type: application/json

{"email": "$EMAIL_ADDRESS", "password": "$PASSWORD"}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
access-token: iHr2dTV-UBK3Xa9vXOXERA
token-type: Bearer
client: TscNP_R2vdAV-yQc8ZjftQ
expiry: 1518274095
uid: ...@...
curl -XPOST https://app.hiptest.com/api/auth/sign_in \
    -H 'Content-Type: application/json' \
    -d '{"email": "$EMAIL_ADDRESS", "password": "$PASSWORD"}' \
    -D /dev/stdout

HTTP/1.1 200 OK
# some response headers have been sniped
access-token: iHr2dTV-UBK3Xa9vXOXERA
token-type: Bearer
client: TscNP_R2vdAV-yQc8ZjftQ
expiry: 1518274095
uid: ...@...
# other response headers have been sniped
{
  "data": [
    {
        ...
    }
  ]
}

Your access token, as explain on your profile page after it has been generated, will expire. You can generate a new one on your profile page by clicking the Generate new API credentials button again, but it is also possible to manage it programmaticaly, using the API.

To generate or renew your API credentials use this endpoint: api/auth/sign_in.

POST https://app.hiptest.com/api/auth/sign_in

Post your Hiptest credentials (email and password) encoded as JSON. If you have been successfully authenticated your API credentials will be in the response headers within the keys access-token, client and uid. The expiry header is the expiration timestamp of your new token.

Authentication

To get your credentials:

POST https://app.hiptest.com/api/auth/sign_in HTTP/1.1
Content-Type: application/json

{"email": "my_hiptest_account", "password": "my_hiptest_account"}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
access-token: sUaWO8m8v5Lkv5pxnLCXzA
token-type: Bearer
client: AfLp4PsN9ZieqHas-X5lrA
expiry: 1486047985
uid: my_hiptest_account
curl -XPOST \
    -H "Content-Type: application/json" \
    -d '{"email": "my_hiptest_account", "password": "my_hiptest_account"}' \
    -D - https://app.hiptest.com/api/auth/sign_in

HTTP/1.1 200 OK
# snip.
access-token: sUaWO8m8v5Lkv5pxnLCXzA
token-type: Bearer
client: AfLp4PsN9ZieqHas-X5lrA
expiry: 1486047985
uid: my_hiptest_account
# snip.

An API call example

GET https://app.hiptest.com/api/<endpoint> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
curl https://app.hiptest.com/api/<endpoint> \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

Before sending requests to our endpoints, you need an authentication token. This token is made up of three data:

You can get this authentication token using the auth/sign_in endpoint (only working if you registered to Hiptest using your email) or directly in your Hiptest profile page.

Hiptest expects for the authentication token to be included in all API requests to the server, in the HTTP headers of your requests

Useful information about the access-token

Projects

Get projects

GET https://app.hiptest.com/api/projects/ HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "projects",
      "id": "1",
      "attributes": {
        "created-at": "2017-10-02T12:01:27.125Z",
        "updated-at": "2018-01-10T14:55:49.848Z",
        "last-author": "harry@example.org",
        "name": "And the Philosopher's Stone",
        "description": "This is where all starts",
        "bdd-mode": true
      },
      "links": {
        "self": "/projects/1"
      },
      "relationships": {
        "scenarios-folder": {
          "links": {
            "self": "/projects/1/relationships/scenarios-folder",
            "related": "/projects/1/scenarios-folder"
          }
        }
      }
    },
    {
      "type": "projects",
      "id": "2",
      "attributes": {
        "created-at": "2017-10-02T12:01:27.125Z",
        "updated-at": "2018-01-10T14:55:49.848Z",
        "last-author": "harry@example.org",
        "name": "And the Chamber of Secrets",
        "description": "With douchebag Draco Malfoy...",
        "bdd-mode": false
      },
      "links": {
        "self": "/projects/2"
      },
      "relationships": {
        "scenarios-folder": {
          "links": {
            "self": "/projects/2/relationships/scenarios-folder",
            "related": "/projects/2/scenarios-folder"
          }
        }
      }
    }
  ]
}

This endpoint retrieves all projects of the logged-in user

Get a particular project

GET https://app.hiptest.com/api/projects/<project_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "projects",
      "id": "1",
      "attributes": {
        "created-at": "2017-10-02T12:01:27.125Z",
        "updated-at": "2018-01-10T14:55:49.848Z",
        "last-author": "harry@example.org",
        "name": "And the Philosopher's Stone",
        "description": "This is where all starts",
        "bdd-mode": true
      },
      "links": {
        "self": "/projects/1"
      },
      "relationships": {
        "scenarios-folder": {
          "links": {
            "self": "/projects/1/relationships/scenarios-folder",
            "related": "/projects/1/scenarios-folder"
          }
        }
      }
    }
  ]
}

This endpoint retrieves a specific project of the logged-in user

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve

Create a project backup

Create the project backup

POST https://app.hiptest.com/api/projects/<project_id>/backups HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 202 Accepted
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/backups" \
    -X POST \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "projects",
      "id": "1",
      "attributes": {
        "created-at": "2017-10-02T12:01:27.125Z",
        "updated-at": "2018-01-10T14:55:49.848Z",
        "last-author": "harry@example.org",
        "name": "And the Philosopher's Stone",
        "description": "This is where all starts",
        "bdd-mode": true,
        "new-backup-in-progress": true
      },
      "links": {
        "self": "/projects/1"
      },
      "relationships": {
        "scenarios-folder": {
          "links": {
            "self": "/projects/1/relationships/scenarios-folder",
            "related": "/projects/1/scenarios-folder"
          }
        }
      }
    }
  ]
}

This endpoint will schedule the backup creation of a given project. The operation is acknownledged with a 202 Accepted HTTP code. The returned project attributes include a "new-backup-in-progress" field set to true.

URL Parameters

Parameter Description
project_id The ID of the project you want to create the backup for

Get last backup state

GET https://app.hiptest.com/api/projects/<project_id>/backups/last HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/backups/last" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "backups",
    "id": "9876",
    "attributes": {
      "project-id": 1234,
      "new-backup-in-progress": false,
      "updated-at": "2018-06-13T13:19:28.380Z",
      "file-name": "coffee_machine__hiptest_publisher_sample_20180419.zip",
      "file-size": 33968,
      "url": "https://attachments-hiptest-production.s3.amazonaws.com/backups/backup_files/000/012/345/original/coffee_machine__hiptest_publisher_sample_20180419.zip?AWSAccessKeyId=XXXXX&Expires=1528298175&Signature=XXX"
    },
    "links": {
      "self": "/backups/9876"
    }
  }
}

This endpoint is useful to track the state of a project backup creation and get the last created backup URL.

If the project does not have any backups yet, or when the very first backup is in progress, this endpoint will respond with empty data: { "data": null }.

URL Parameters

Parameter Description
project_id The ID of the project you want to see the last backup of

Getting root scenarios folder of a project

GET https://app.hiptest.com/api/projects?include=scenarios-folder HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/project?include=scenarios-folder" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

Also works when retrieving a single project

You can use the JSONAPI include syntax to fetch the scenarios root folder of your project

Action words

Get action words of a given project

GET https://app.hiptest.com/api/projects/<project_id>/actionwords HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/actionwords" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "actionwords",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "definition": "actionword 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n",
        "errors": []
      },
      "links": {
        "self": "/actionwords/1"
      }
    },
    {
      "type": "actionwords",
      "id": "2",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Defeat Voldemort",
        "description": "And save the world, hurray!",
        "definition": "actionword 'Defeat Voldemort' do\nend\n",
        "errors": []
      },
      "links": {
        "self": "/actionwords/2"
      }
    }
  ]
}

This endpoint retrieves all action words of a given project.

You can retrieve tags of an action word from the tags endpoint.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the actionwords from

Get a single action word

GET https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "actionwords",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "definition": "actionword 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n",
        "errors": []
      },
      "links": {
        "self": "/actionwords/1"
      }
    }
}

This endpoint retrieves a single action word of a given project.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the actionword from
actionword_id The ID of the action word you want to get

Create an action word

POST https://app.hiptest.com/api/projects/<project_id>/actionwords HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "name": "Find horcruxes",
      "description": "That will help to kill Voldemort",
      "definition": "step {action: \"Find the last one\"}\n step {result: \"Found it!\"}"
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/actionwords" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "Find horcruxes", "description": "That will help to kill Voldemort", "definition": "step {action: \"Find the last one\"}\n step {result: \"Found it!\"}" } } }'
{
  "data":
    {
      "type": "actionwords",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "definition": "actionword 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n",
        "errors": []
      },
      "links": {
        "self": "/actionwords/1"
      }
    }
}

This endpoint create new action word.

URL Parameters

Parameter Description
project_id The ID of the project in wich you want to create the actionword

Mandatory fields

Field Description
name (String) The name of the action word.

Other fields

Field Description
description (String) The description of the action word.
definition (String) The body of the definition of the action word.

Update an action word

PATCH https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "actionwords",
    "id": <actionword_id>,
    "attributes": {
      "name": "Find horcruxes",
      "description": "That will help to kill Voldemort",
      "definition": "actionword 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n"
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH "https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data $'{ "data": { "type": "actionwords", "id": <actionword_id>, "attributes": { "name": "Find horcruxes", "description": "That will help to kill Voldemort", "definition": "actionword \'Find horcruxes\' do\\n  step {action: \\"Find the last one\\"}\\n  step {result: \\"Found it!\\"}\\nend\\n" } } }'
{
  "data":
    {
      "type": "actionwords",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "definition": "actionword 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n",
        "errors": []
      },
      "links": {
        "self": "/actionwords/1"
      }
    }
}

This endpoint updates the name, descrpition and/or definition of a single action word of a given project.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the action word from
actionword_id The ID of the action word you want to update

Delete an action word

DELETE https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

This endpoint delete an action word.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the action word from
actionword_id The ID of the action word you want to delete

Get an action word callers

GET https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>/callers HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>/callers" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
    "data": [
        {
            "type": "scenarios",
            "id": "1",
            "attributes": {
                "created-at": "2018-08-31T09:12:18.338Z",
                "updated-at": "2018-08-31T09:12:18.338Z",
                "last-author": "harry@example.org",
                "name": "It is possible to take 40 coffees before there is really no more beans",
                "description": "...",
                "folder-id": 1,
                "definition": "..."
            },
            "links": {
                "self": "/scenarios/503"
            },
            "relationships": {
                "folder": {},
                "tags": {}
            }
        },
        {
            "type": "folders",
            "id": "1",
            "attributes": {
                "created-at": "2018-08-31T09:12:17.797Z",
                "updated-at": "2018-09-03T14:19:57.066Z",
                "last-author": "harry@example.org",
                "name": "Serve coffee",
                "description": "...",
                "definition": "...",
                "parent-id": 0
            },
            "links": {
                "self": "/folders/263"
            },
            "relationships": {
                "tags": {}
            }
        }
    ]
}

This endpoint retrieves the list of action word callers (scenarios, folders, actionwords).

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the actionword from
actionword_id The ID of the action word you want to get

Scenarios

Get scenarios of a given project

GET https://app.hiptest.com/api/projects/<project_id>/scenarios[?include=<fields>] HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios[?include=<fields>]" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "folder-id": 162629,
        "definition": "scenario 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n"
      },
      "links": {
        "self": "/scenarios/1"
      },
      "relationships": {
        "folder": {}
      }
    },
    {
      "type": "scenarios",
      "id": "2",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Defeat Voldemort",
        "description": "And save the world, hurray !",
        "folder-id": 162629,
        "definition": "scenario 'Defeat Voldemort' do\nend\n"
      },
      "links": {
        "self": "/scenarios/2"
      },
      "relationships": {
        "folder": {}
      }
    }
  ]
}

This endpoint retrieves all scenarios of a given project.

You can use the JSONAPI include syntax to fetch additional data about your tests.

The available additional data are the following:

Field name Description
folder The folder scenarios belongs to
tags The tags of the scenarios
actionwords Actionwords used by the scenarios

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the scenarios from

Find scenarios by tags

Find scenarios by tags key

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/find_by_tags?key=<tag_key> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/find_by_tags?key=<tag_key>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "created-at" : "2018-01-31T16:03:45.387Z",
        "updated-at" : "2018-02-05T14:54:50.826Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "folder-id": 162629,
        "definition": "scenario 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n"
      },
      "links": {
        "self": "/scenarios/1"
      },
      "relationships": {
        "folder": {}
      }
    },
    {
      "type": "scenarios",
      "id": "2",
      "attributes": {
        "created-at" : "2018-02-05T13:15:13.285Z",
        "updated-at" : "2018-02-05T13:18:19.397Z",
        "last-author" : "harry@example.org",
        "name": "Defeat Voldemort",
        "description": "And save the world, hurray !",
        "folder-id": 162629,
        "definition": "scenario 'Defeat Voldemort' do\nend\n"
      },
      "links": {
        "self": "/scenarios/2"
      },
      "relationships": {
        "folder": {}
      }
    }
  ],
  "included": []
}

Find scenarios by tags key and value

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/find_by_tags?key=<tag_key>&value=<tag_value> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/find_by_tags?key=<tag_key>&value=<tag_value>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "created-at" : "2018-01-31T16:03:45.387Z",
        "updated-at" : "2018-02-05T14:54:50.826Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "folder-id": 162629,
        "definition": "scenario 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n"
      },
      "links": {
        "self": "/scenarios/1"
      },
      "relationships": {
        "folder": {}
      }
    }
  ],
  "included": []
}

This endpoint retrieves all scenarios of a given project and having the given tag.

Field name Description
tag_key The KEY of the tag you use to retrieve the scenarios
tag_value The VALUE of the tag you use to retrieve the scenarios

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the scenarios from

Request parameters

Parameter Description
key The key of the tag
value The value of the tag

Get a single scenario

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>[?include=<fields>] HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>[?include=<fields>]" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "folder-id": 162629,
        "definition": "scenario 'Find horcruxes' do\n  step {action: \"Find the last one\"}\n  step {result: \"Found it!\"}\nend\n",
        "errors": []
      },
      "links": {
        "self": "/scenarios/1"
      },
      "relationships": {
        "folder": {}
      }
    }
}

This endpoint retrieves a single scenario of a given project.

You can use the JSONAPI include syntax to fetch additional data about your tests.

The available additional data are the following:

Field name Description
folder The folder the scenario belongs to
tags The tags of the scenario
actionwords Actionwords used by the scenario

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the scenario from
scenario_id The ID of the scenario you want to get

Create a scenario

POST https://app.hiptest.com/api/projects/<project_id>/scenarios HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "name": "Find horcruxes",
      "folder-id": 1234
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/scenarios" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "Find horcruxes", "folder-id": "1234" } } }'
{
  "data":
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "description": "",
        "folder-id": "1234",
        "definition": "",
        "errors": []
      },
      "links": {
        "self": "/scenarios/1"
      },
      "relationships": {
        "folder": {}
      }
    }
}

This endpoint create a new scenario.

URL Parameters

Parameter Description
project_id The ID of the project in which you want to create the scenario

Mandatory fields

Field Description
name (String) The name of the scenario

Other fields

Field Description
folder-id (Integer) The id of the folder containing the scenario

Update a scenario

PATCH https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "scenarios",
    "id": <scenario_id>,
    "attributes": {
      "name": "The new name of the scenario",
      "description": "The new description of the scenario",
      "definition": "scenario 'The new definition of the scenario' do\nend\n",
      "folder-id": "162630"
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "scenarios", "id": <scenario_id>, "attributes": {"name": "The new name of the scenario", "description": "The new description of the scenario", "definition": "scenario \'The new definition of the scenario\' do\\nend\\n", "folder-id": "162630" }}}'
{
  "data":
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "name": "The new definition of the scenario",
        "description": "The new description of the scenario",
        "folder-id": "162630",
        "definition": "scenario 'The new definition of the scenario' do\nend\n"
      },
      "links": {
        "self": "/scenarios/1"
      },
      "relationships": {
        "folder": {}
      }
    }
}

This endpoint updates the name, descrpition, folder and definition of a single scenario of a given project. Note that the attributes are all optional, you can update only one of them if wanted, just don’t set the key in the “attributes” hash.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the scenario from
scenario_id The ID of the scenario you want to update

Delete a scenario

DELETE https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

This endpoint delete a scenario.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the scenario from
scenario_id The ID of the scenario you want to delete

Features

Get feature from a given folder

GET https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/feature HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders</folder_id>/feature" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
    "data": {
        "type": "folders",
        "id": "1",
        "attributes": {
            "created-at": "2018-05-22T09:15:01.430Z",
            "updated-at": "2018-10-08T14:42:00.688Z",
            "last-author": "harry@example.org",
            "name": "HP Saga",
            "description": "This project is designed to keep track of the evolution of the HP saga,
            in the most expressive way possible, thanks to BDD!",
            "definition": "folder do\nend\n",
            "parent-id": null,
            "feature": "Feature: The Philosopher's Stone\n\nScenario: Read a Hogwarts letter"
        },
        "links": {
            "self": "/folders/1"
        },
        "relationships": {
            "tags": {}
        }
    },
    "included": []
}

This endpoint retrieves Gherkin formatted feature from a specific folder.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the folder you want to get

Create from feature

POST https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/create_from_feature HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{ 
    "data": { 
        "attributes": { 
            "feature": "Feature: The Chamber of Secrets\n\nScenario: Shopping on Diagon Alley"
        }
    }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/folders</folder_id>/create_from_feature" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{ "data": { "attributes": { "feature": "Feature: The Chamber of Secrets\n\nScenario: Shopping on Diagon Alley" } } }'
{
    "data": {
        "type": "folders",
        "id": "2",
        "attributes": {
            "created-at": "2018-05-22T09:15:01.430Z",
            "updated-at": "2018-10-08T14:42:00.688Z",
            "last-author": "harry@example.org",
            "name": "HP Saga",
            "description": "This project is designed to keep track of the evolution of the HP saga,
            in the most expressive way possible, thanks to BDD!",
            "definition": "folder do\nend\n",
            "parent-id": null,
            "running-feature-imports": [
                "the_chamber_of_secrets"
            ]
        },
        "links": {
            "self": "/folders/2"
        },
        "relationships": {
            "tags": {}
        }
    },
    "included": []
}

This endpoint creates every resources from the feature into a specific folder.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the folder you want to get

Mandatory fields

Field Description
feature (String) The gherkin formatted feature text.

Folders

Get folders of a given project

GET https://app.hiptest.com/api/projects/<project_id>/folders HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "folders",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "HP Saga",
        "description": "This project is designed to keep track of the evolution of the HP saga,
        in the most expressive way possible, thanks to BDD!",
        "parent-id": null
      },
      "links": {
        "self": "/folders/1"
      }
    },
    {
      "type": "folders",
      "id": "2",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "The Philosopher's Stone",
        "description": "",
        "parent-id": 1
      },
      "links": {
        "self": "/folders/2"
      }
    }
  ]
}

This endpoint retrieves all folders of a given project.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from

Get a single folder

GET https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "folders",
      "id": "2",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "The Philosopher's Stone",
        "description": "",
        "parent-id": 1
      },
      "links": {
        "self": "/folders/2"
      }
    }
}

This endpoint retrieves a specific folder of a given project.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the folder you want to get

Get children of a folder

GET https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/children HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/children" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "folders",
      "id": "2",
      "attributes": {
        "name": "The Philosopher's stone",
        "description": "",
        "parent-id": 1
      },
      "links": {
        "self": "/folders/2"
      }
    },
    {
      "type": "folders",
      "id": "3",
      "attributes": {
        "name": "The Chamber of Secrets",
        "description": "",
        "parent-id": 1
      },
      "links": {
        "self": "/folders/3"
      }
    }
  ]
}

This endpoint retrieves the subfolders of a specific folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the folder you want to get the children

Get scenarios of a folder

GET https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/scenarios HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/scenarios" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "scenarios",
      "id": "1",
      "attributes": {
        "name": "Read a Hogwarts letter"
      },
      "links": {
        "self": "/scenarios/1"
      }
    },
    {
      "type": "scenarios",
      "id": "2",
      "attributes": {
        "name": "Shopping on Diagon Alley"
      },
      "links": {
        "self": "/scenarios/2"
      }
    }
  ]
}

This endpoint retrieves the scenarios of a specific folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the folder you want to get the scenarios

Create a folder

POST https://app.hiptest.com/api/projects/<project_id>/folders HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "name": "A new folder",
      "parent-id": 1234
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/folders" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "A new folder", "parent-id": "1234" } } }'
{
  "data": {
    "type": "folders",
    "id": "1235",
    "attributes": {
      "created-at": "2017-10-17T08:00:33.978Z",
      "updated-at": "2017-10-18T08:28:07.791Z",
      "last-author": "harry@example.org",
      "name": "A new folder",
      "description": "",
      "definition": "folder do\nend\n",
      "parent-id": 1234
    },
    "links": {
      "self": "/folders/1235"
    }
  }
}

This endpoint create a new folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from

Mandatory fields

Field Description
name (String) The name of the folder.

Other fields

Field Description
parent-id (Integer) The id of the folder that will contain the created folder.

Update a folder

PATCH https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "type": "folders",
    "id": "<folder_id>",
    "attributes": {
      "name": "A new folder name",
      "description": "A new description",
      "definition": "folder do end"
      "parent-id": 1233
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "A new folder name", "parent-id": "1233", "description: "A new description", "definition": "folder do end" } } }'
{
  "data": {
    "type": "folders",
    "id": "1234",
    "attributes": {
      "created-at": "2017-10-17T08:00:33.978Z",
      "updated-at": "2017-10-18T08:28:07.791Z",
      "last-author": "harry@example.org",
      "name": "A new folder name",
      "description": "A new descriptio",
      "definition": "folder do\nend\n",
      "parent-id": 1233
    },
    "links": {
      "self": "/folders/1234"
    }
  }
}

This endpoint updates a folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from

Fields

Field Description
name (String) The name of the folder.
description (String) The description of the folder.
definition (String) The definition of the folder.
parent-id (Integer) The id of the parent folder.

Delete a folder

DELETE https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {}
}

This endpoint destroy a folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the target folder

Delete a folder children

DELETE https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/children HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/children" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {}
}

This endpoint destroys all sub-folders of the target folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the target folder

Delete a folder scenarios

DELETE https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/scenarios HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/scenarios" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {}
}

This endpoint destroy a folder scenarios

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
folder_id The ID of the target folder

Tags

Include tags when requesting elements

GET https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>?include=tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>?include=tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "folders",
      "id": "2",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "The Philosopher's Stone",
        "description": "",
        "parent-id": 1
      },
      "links": {
        "self": "/folders/2"
      },
      "relationships": {
        "tags": {
          "data": [
            {
              "type": "tags",
              "id": "6537"
            }
          ]
        }
      }
    },
  "included": [
    {
      "type": "tags",
      "id": "6539",
      "attributes": {
        "key": "horcruxes",
        "value": ""
      },
      "links": {
        "self": "/tags/6539"
      }
    }
  ]
}

You can use the JSONAPI include syntax to fetch tags alongside parent elements. Elements can be scenarios, actionwords, folders, test runs, tests and test folders. This is working when requesting for a list of elements, and for a single element.

Get tags of a given action word

GET https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/actionwords/<actionword_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "platform",
        "value": "Android"
      },
      "links": {
        "self": "/tags/1"
      }
    },
    {
      "type": "tags",
      "id": "2",
      "attributes": {
        "key": "automated",
        "value": "yes"
      },
      "links": {
        "self": "/tags/2"
      }
    }
  ]
}

This endpoint retrieves all tags of a given action word.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted action word
actionword_id The ID of the action word you want to retrieve the tags from

Get tags of a given scenario

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "Status",
        "value": "InProgress"
      },
      "links": {
        "self": "/tags/1"
      }
    },
    {
      "type": "tags",
      "id": "2",
      "attributes": {
        "key": "Priority",
        "value": "Over9000"
      },
      "links": {
        "self": "/tags/2"
      }
    }
  ]
}

This endpoint retrieves all tags of a given scenario.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the tags from

Get tags of a given folder

GET https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/folders/<folder_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "Javascript",
        "value": ""
      },
      "links": {
        "self": "/tags/1"
      }
    },
    {
      "type": "tags",
      "id": "2",
      "attributes": {
        "key": "Sprint",
        "value": "1"
      },
      "links": {
        "self": "/tags/2"
      }
    }
  ]
}

This endpoint retrieves all tags of a given folder.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted folder
folder_id The ID of the folder you want to retrieve the tags from

Get tags of a given test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "priority",
        "value": "high"
      },
      "links": {
        "self": "/tags/1"
      }
    },
    {
      "type": "tags",
      "id": "2",
      "attributes": {
        "key": "jira",
        "value": "test"
      },
      "links": {
        "self": "/tags/2"
      }
    }
  ]
}

This endpoint retrieves all tags of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run you want to retrieve the tags from

Get tags of a given test

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "priority",
        "value": "high"
      },
      "links": {
        "self": "/tags/1"
      }
    },
    {
      "type": "tags",
      "id": "2",
      "attributes": {
        "key": "jira",
        "value": "test"
      },
      "links": {
        "self": "/tags/2"
      }
    }
  ]
}

This endpoint retrieves all tags of a given test.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where the test is
test_snapshot_id The ID of the test in the test-run you want to retrieve the tags from

Create tag in a scenario

POST https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "key": "priority",
      "value": "high"
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -X POST "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "priority",
        "value": "high"
      },
      "links": {
        "self": "/tags/1"
      }
    }
  ]
}

This endpoint creates a new tag in a scenario.

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario where you want to create the tag

Create tag in a test run

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "key": "priority",
      "value": "high"
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -X POST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "priority",
        "value": "high"
      },
      "links": {
        "self": "/tags/1"
      }
    }
  ]
}

This endpoint creates a new tag in a test run.

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where you want to create the tag

Create tag in a test

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "key": "priority",
      "value": "high"
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -X POST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "tags",
      "id": "1",
      "attributes": {
        "key": "priority",
        "value": "high"
      },
      "links": {
        "self": "/tags/1"
      }
    }
  ]
}

This endpoint creates a new tag in a test.

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where the test is
test_snapshot_id The ID of the test in the test-run where you want to create the tag

Update a tag in a scenario

PATCH https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags/<tag_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "type": "tags",
    "id": 5,
    "attributes": {
      "key": "priority",
      "value": "low"
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags/<tag_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "tags","id": 5,"attributes": {"key": "priority","value": "low"}}}'
{
  "data": [
    {
      "type": "tags",
      "id": "5",
      "attributes": {
        "key": "priority",
        "value": "low"
      },
      "links": {
        "self": "/tags/1"
      }
    }
  ]
}

This endpoint updates a tag in a scenario.

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario where you want to update the tag
tag_id The ID of the tag you want to update

Update a tag in a test run

PATCH https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags/<tag_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "type": "tags",
    "id": 5,
    "attributes": {
      "key": "priority",
      "value": "low"
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags/<tag_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "tags","id": 5,"attributes": {"key": "priority","value": "low"}}}'
{
  "data": [
    {
      "type": "tags",
      "id": "5",
      "attributes": {
        "key": "priority",
        "value": "low"
      },
      "links": {
        "self": "/tags/1"
      }
    }
  ]
}

This endpoint updates a tag in a test run.

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where you want to update the tag
tag_id The ID of the tag you want to update

Update a tag in a test

PATCH https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags/<tag_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "type": "tags",
    "id": 5,
    "attributes": {
      "key": "priority",
      "value": "low"
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags/<tag_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "tags","id": 5,"attributes": {"key": "priority","value": "low"}}}'
{
  "data": [
    {
      "type": "tags",
      "id": "5",
      "attributes": {
        "key": "priority",
        "value": "low"
      },
      "links": {
        "self": "/tags/1"
      }
    }
  ]
}

This endpoint updates a tag in a test run.

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where the test is
test_snapshot_id The ID of the test you want to update the tag
tag_id The ID of the tag you want to update

Delete a tag in a scenario

DELETE https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags/<tag_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/tags<tag_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{}

This endpoint deletes a tag in a scenario.

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario where you want to delete the tag
tag_id The ID of the tag you want to delete

Delete a tag in a test run

DELETE https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags/<tag_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/tags<tag_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{}

This endpoint deletes a tag in a test run.

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where you want to delete the tag
tag_id The ID of the tag you want to delete

Delete a tag in a test

DELETE https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags/<tag_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/tags<tag_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{}

This endpoint deletes a tag in a test run.

Parameter Description
project_id The ID of the project that contains the wanted test run
test_run_id The ID of the test run where the test is
test_snapshot_id The ID of the test where you want to delete the tag
tag_id The ID of the tag you want to delete

Create tags alongside elements

POST https://app.hiptest.com/api/projects/<project_id>/<element_type> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      ...
    },
    "relationships": {
      "tags": {
        "data": [
          { "type": "tag", "key": "automated" },
          { "type": "tag", "key": "sprint", value: "2" },
          { "type": "tag", "key": "priority", value: "high" }
        ]
      }
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/<element_type>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {}, "relationships": { "tags": { "data": [ { "type": "tag", "key": "automated" }, { "type": "tag", "key": "sprint", "value": "2" }, { "type": "tag", "key": "priority", "value": "high" }] } }}'
{
  "data":
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        ...
      },
      "links": {
        "self": "/test-runs/1"
      },
      "included": [
        { "type": "tags", "id": "1", "attributes": { "key": "automated", "value": "" }, "links": { "self": "/tags/1" } },
        { "type": "tags", "id": "2", "attributes": { "key": "sprint", "value": "2" }, "links": { "self": "/tags/2" } },
        { "type": "tags", "id": "3", "attributes": { "key": "priority", "value": "high" }, "links": { "self": "/tags/3" } }
      ]
    }
}

With some elements (such as the test runs and scenarios), you can create one or multiple tags linked to the created element. This can be done by specifying the “relationships” element.

Parameter Description
project_id The ID of the project in wich you want to create the actionword
element_type The type of element you want to create (scenarios, test_runs)

Datasets

Get datasets of a given scenario

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "datasets",
      "id": "1",
      "attributes": {
        "name": "dataset-1",
        "data": {
          "parameter-1": "value 1-1",
          "parameter-2": "value 1-2"
        }
      },
      "links": {
        "self": "/datasets/1"
      }
    },
    {
      "type": "datasets",
      "id": "2",
      "attributes": {
        "name": "dataset-2",
        "data": {
          "parameter-1": "value 2-1",
          "parameter-2": "value 2-2"
        }
      },
      "links": {
        "self": "/datasets/2"
      }
    }
  ]
}

This endpoint retrieves all datasets of a given scenario.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the datasets from

Get a given dataset

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets/<dataset_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets/<dataset_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
      "type": "datasets",
      "id": "1",
      "attributes": {
          "name": "dataset-1",
          "data": {
              "parameter-1": "value 1-1",
              "parameter-2": "value 1-2"
          }
      },
      "links": {
          "self": "/datasets/1"
      }
  }
}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the datasets from
dataset_id The ID of the dataset you want to show

Create a dataset

POST https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "name": "dataset-3",
      "data": {
        "parameter-1": "value 3-1",
        "parameter-2": "value 3-2"
      }
    }
  }
}

HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "dataset-3","data": {"parameter-1": "value 3-1", "parameter-2": "value 3-2"}}}}'
{
  "data": {
      "type": "datasets",
      "id": "3",
      "attributes": {
          "name": "dataset-3",
          "data": {
              "parameter-1": "value 3-1",
              "parameter-2": "value 3-2"
          }
      },
      "links": {
          "self": "/datasets/3"
      }
  }
}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the datasets from

Update a dataset

PATCH https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets/<dataset_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
      "type": "datasets",
      "id": "3",
      "attributes": {
          "name": "new dataset-3 name",
          "data": {
              "parameter-1": "new value 3-1",
              "parameter-2": "new value 3-2"
          }
      }
  }
}

HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPUT "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets/<dataset_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": { "type": "datasets", "id": "3", "attributes": {"name": "new dataset-3 name","data": {"parameter-1": "new value 3-1", "parameter-2": "new value 3-2"}}}}'
{
    "data": {
        "type": "datasets",
        "id": "3",
        "attributes": {
            "name": "new dataset-3 name",
            "data": {
                "parameter-1": "new value 3-1",
                "parameter-2": "new value 3-2"
            }
        },
        "links": {
            "self": "/datasets/3"
        }
    }
}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the datasets from
dataset_id The ID of the dataset you want to update

Delete a dataset

DELETE https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets/<dataset_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datasets/<dataset_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the datasets from
dataset_id The ID of the dataset you want to destroy

Datatables

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datatable HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/datatable" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "datasets",
      "id": "1",
      "attributes": {
        "name": "dataset-1",
        "data": {
          "parameter-1": "value 1-1",
          "parameter-2": "value 1-2"
        }
      },
      "links": {
        "self": "/datasets/1"
      }
    },
    {
      "type": "datasets",
      "id": "2",
      "attributes": {
        "name": "dataset-2",
        "data": {
          "parameter-1": "value 2-1",
          "parameter-2": "value 2-2"
        }
      },
      "links": {
        "self": "/datasets/2"
      }
    }
  ]
}

A datatable endpoint is available as an alias for the datasets resource.

Parameters

Get parameters of a given scenario

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "parameters",
      "id": "1",
      "attributes": {
        "name": "parameter-1"
      },
      "links": {
        "self": "/parameters/1"
      }
    },
    {
      "type": "parameters",
      "id": "2",
      "attributes": {
        "name": "parameter-2"
      },
      "links": {
        "self": "/parameters/2"
      }
    }
  ]
}

This endpoint retrieves all parameters of a given scenario.

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the parameters from

Get a given parameter

GET https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters/<parameter_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters/<parameter_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
      "type": "parameters",
      "id": "1",
      "attributes": {
          "name": "parameter-1"
      },
      "links": {
          "self": "/parameters/1"
      }
  }
}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the parameters from
parameter_id The ID of the parameter you want to show

Create a parameter

POST https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "attributes": {
      "name": "parameter-3"
    }
  }
}

HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "parameter-3"}}}'
{
  "data": {
      "type": "parameters",
      "id": "3",
      "attributes": {
          "name": "parameter-3"
      },
      "links": {
          "self": "/parameters/3"
      }
  }
}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the parameters from

Update a parameter

PATCH https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters/<parameter_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
      "type": "parameters",
      "id": "3",
      "attributes": {
          "name": "new parameter-3 name"
      }
  }
}

HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPUT "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters/<parameter_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": { "type": "parameters", "id": "3", "attributes": {"name": "new parameter-3 name"}}}'
{
    "data": {
        "type": "parameters",
        "id": "3",
        "attributes": {
            "name": "new_parameter-3_name"
        },
        "links": {
            "self": "/parameters/3"
        }
    }
}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the parameters from
parameter_id The ID of the parameter you want to update

Delete a parameter

DELETE https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters/<parameter_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XDELETE "https://app.hiptest.com/api/projects/<project_id>/scenarios/<scenario_id>/parameters/<parameter_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{}

URL Parameters

Parameter Description
project_id The ID of the project that contains the wanted scenario
scenario_id The ID of the scenario you want to retrieve the parameters from
parameter_id The ID of the parameter you want to destroy

Test runs

Get test runs of a project

GET https://app.hiptest.com/api/projects/<project_id>/test_runs HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Sprint 1",
        "description": "Wandering in the countryside, doing boring stuff",
        "statuses": {
          "passed": 0,
          "failed": 0,
          "retest": 0,
          "undefined": 765,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": false,
        "external": false
      },
      "links": {
        "self": "/test-runs/1"
      },
      "relationships": {
        "tags": {}
      }
    },
    {
      "type": "test-runs",
      "id": "2",
      "attributes": {
        "name": "Sprint 2",
        "description": "Bank robbery and blowing up things",
        "statuses": {
          "passed": 15,
          "failed": 42,
          "retest": 0,
          "undefined": 0,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": true,
        "external": false
      },
      "links": {
        "self": "/test-runs/2"
      },
      "relationships": {
        "tags": {}
      }
    }
  ]
}

This endpoint retrieves all test runs of a given project. The order is undefined.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test runs from
filter[status] “active” or “archived”

Get a single test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Sprint 1",
        "description": "Wandering in the countryside, doing boring stuff",
        "statuses": {
          "passed": 0,
          "failed": 0,
          "retest": 0,
          "undefined": 765,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": false,
        "external": false
      },
      "links": {
        "self": "/test-runs/1"
      },
      "relationships": {
        "tags": {}
      }
    }
}

This endpoint retrieves a single test run of a given project.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test run from
test_run_id The ID of the test run you want to get

Include tags when fetching your test run(s)

GET https://app.hiptest.com/api/projects/<project_id>/test_runs?include=tags HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs?include=tags" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

Also works when retrieving a single test run

You can use the JSONAPI include syntax to fetch the tags of your test runs

Create a test run

POST https://app.hiptest.com/api/projects/<project_id>/test_runs HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "attributes": {
      "name": "Sprint 1",
      "description": "My TR description",
      "scenario_ids": [1, 2, 3]
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "Sprint 1", "description": "My TR description", "scenario_ids": [1, 2, 3]} } }'
{
  "data":
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Sprint 1",
        "description": "My TR description",
        "statuses": {
          "passed": 0,
          "failed": 0,
          "retest": 0,
          "undefined": 3,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": false,
        "external": false
      },
      "links": {
        "self": "/test-runs/1"
      },
      "relationships": {
        "tags": {}
      }
    }
}

This endpoint creates a new test run.

URL Parameters

Parameter Description
project_id The ID of the project in which you want to create the test run.

Mandatory fields

Field Description
name (String) The name of the test run.

Other fields

Field Description
scenario_ids (List of Integer) The ids of scenarios you want in the test run.
external 1 or true to create an external test run.
description (String) The description of the test run.

Clone a test run

POST https://app.hiptest.com/api/projects/<project_id>/test_runs HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "attributes": {
      "name": "My new test run",
      "test_run_id": 1
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -X POST "https://app.hiptest.com/api/projects/<project_id>/test_runs" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": {"name": "My new test run", "test_run_id": 1} } }'
{
  "data":
    {
      "type": "test-runs",
      "id": "2",
      "attributes": {
        "created-at": "2019-05-23T08:30:17.398Z",
        "updated-at": "2019-05-23T08:30:17.398Z",
        "last-author" : "harry@example.org",
        "name": "My new test run",
        "description": "first test run description",
        "statuses": {},
        "archived": false,
        "external": false
      },
      "links": {
        "self": "/test-runs/2"
      },
      "relationships": {
        "tags": {}
      }
    }
}

This endpoint clones a test run.

URL Parameters

Parameter Description
project_id The ID of the project in which you want to create the test run.

Mandatory fields

Field Description
name (String) The name of the test run.
test_run_id (Integer) The id of the source test run.

Synchronize a test run

Synchronization give you the ability to update the tests of your test run with their last version, based on the current scenarios definitions

Watch synchronization state

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>?show_synchronization_information=true HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>?show_synchronization_information=true" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Sprint 1",
        "description": "Wandering in the countryside, doing boring stuff",
        "statuses": {
          "passed": 0,
          "failed": 0,
          "retest": 0,
          "undefined": 765,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": false,
        "external": false,
        "synchronization-information": {
          "synchronizable": true,
          "synchronizing": false,
          "details": {
            "deleted_folders_snapshots": [],
            "deleted_scenarios_snapshots": [],
            "deleted_tests_snapshots": []
          }
        }
      },
      "links": {
        "self": "/test-runs/1"
      },
      "relationships": {
        "tags": {}
      }
    }
}

This endpoint is useful to track the state of a test run synchronization.

The synchronization operation can be dangerous. If some of your test run tests and folders are based on scenarios and folders that no longer exist, they will be destroyed. It is strongly advised to use this endpoint to get the potential impacts of a synchronization before running one.

Synchronize the test run

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/synchronize HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/synchronize" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data":
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Sprint 1",
        "description": "Wandering in the countryside, doing boring stuff",
        "statuses": {
          "passed": 0,
          "failed": 0,
          "retest": 0,
          "undefined": 765,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": false,
        "external": false,
        "synchronization-information": {
          "synchronizable": true,
          "synchronizing": true,
          "details": {
            "deleted_folders_snapshots": [],
            "deleted_scenarios_snapshots": [],
            "deleted_tests_snapshots": []
          }
        }
      },
      "links": {
        "self": "/test-runs/1"
      },
      "relationships": {
        "tags": {}
      }
    }
}

This endpoint will start the synchronization of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project containing the test run
test_run_id The ID of the test run you want to synchronize

Get builds history of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/build_history HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/build_history" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
    "data": [
        {
            "id": 3,
            "date": "2018-09-12T08:19:28.446Z",
            "values": {
                "passed": 1,
                "failed": 1,
                "wip": 0,
                "retest": 1,
                "blocked": 0,
                "skipped": 0,
                "undefined": 0
            },
            "platform": "Default"
        },
        {
            "id": 2,
            "date": "2018-09-12T08:19:09.615Z",
            "values": {
                "passed": 2,
                "failed": 0,
                "wip": 1,
                "retest": 0,
                "blocked": 0,
                "skipped": 0,
                "undefined": 0
            },
            "platform": "Default"
        },
        {
            "id": 1,
            "date": "2018-09-12T07:21:21.606Z",
            "values": {
                "passed": 2,
                "failed": 1,
                "wip": 0,
                "retest": 0,
                "blocked": 0,
                "skipped": 0,
                "undefined": 0
            },
            "platform": "Default"
        }
    ]
}

This endpoint retrieves build history of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test run from
test_run_id The ID of the test run you want to get

Add a scenario to an existing test run

PATCH https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "test_runs",
    "id": 1,
    "attributes": {
      "scenario_id": 1
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPATCH https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id> \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "test_runs", "id": 1, "attributes": {"scenario_id": 1}}}'
{
  "data": [
    {
      "type": "test-runs",
      "id": "1",
      "attributes": {
        "created-at" : "2019-05-27T11:39:08.281Z",
        "updated-at" : "2019-05-27T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Sprint 1",
        "description": "Wandering in the countryside, doing boring stuff",
        "statuses": {
          "passed": 0,
          "failed": 0,
          "retest": 0,
          "undefined": 765,
          "blocked": 0,
          "skipped": 0,
          "wip": 0
        },
        "archived": false,
        "external": false
      },
      "links": {
        "self": "/test-runs/1"
      },
      "relationships": {
        "tags": {}
      }
    }
  ]
}

This endpoint adds a scenario to a given test run.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test run from
test_run_id The ID of the test run you want to get

Tests

Get tests of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

{
  "data": [
    {
      "type": "test-snapshots",
      "id": "1",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Find horcruxes",
        "definition-json": {
          "scenario_name": "Find horcruxes",
          "dataset_name": null,
          "dataset_id": null,
          "steps": [
            {
              "action": "Given Harry has one horcrux"
            },
            {
              "result": "Then he should destroy it"
            },
          ],
          "index": 0
        },
        "status": "failed",
        "scenario-snapshot-id": 1,
        "folder-snapshot-id": 2
      },
      "links": {
        "self": "/test-snapshots/1"
      },
      "relationships": {
        "scenario": {},
        "dataset": {},
        "last-result": {}
      }
    },
    {
      "type": "test-snapshots",
      "id": "2",
      "attributes": {
        "created-at" : "2017-02-28T11:39:08.281Z",
        "updated-at" : "2017-02-28T11:39:08.281Z",
        "last-author" : "harry@example.org",
        "name": "Defeat Voldemort",
        "definition-json": {
          "scenario_name": "Defeat Voldemort",
          "dataset_name": null,
          "dataset_id": null,
          "steps": [
            {
              "action": "Given Harry cast the Expelliarmus spell"
            },
            {
              "result": "Then Voldemort should be defeated"
            }
          ],
          "index": 0
        },
        "status": "success",
        "scenario-snapshot-id": 1,
        "folder-snapshot-id": 5
      },
      "links": {
        "self": "/test-snapshots/2"
      },
      "relationships": {
        "scenario": {},
        "dataset": {},
        "last-result": {}
      }
    }
  ]
}

This endpoint retrieves all test snapshots of a test run

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the tests you want

Optional parameter

Parameter Description
show_step_statuses (value: ‘true’) Embed detailed test results including statuses per step with every tests

Get a test

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "test-snapshots",
    "id": "1",
    "attributes": {
      "created-at" : "2017-02-28T11:39:08.281Z",
      "updated-at" : "2017-02-28T11:39:08.281Z",
      "last-author" : "harry@example.org",
      "name": "Find horcruxes",
      "definition-json": {
        "scenario-name": "Find horcruxes",
        "dataset_name": null,
        "dataset_id": null,
        "steps": [
          {
            "action": "Given Harry has one horcrux"
          },
          {
            "result": "Then he should destroy it"
          },
        ],
        "index": 0
      },
      "status": "failed",
      "scenario-snapshot-id": 1,
      "folder-snapshot-id": 5
    },
    "links": {
      "self": "/test-snapshots/1"
    },
    "relationships": {
      "scenario": {},
      "dataset": {},
      "last-result": {}
    }
  }
}

This endpoint retrieves a particular test of a test run

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the test you want
test_snapshot_id The ID of the test you want to get

Get a test additional data

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>?include=<fields> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>?include=<fields>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

You can use the JSONAPI include syntax to fetch additional data about your tests.

Following example returns a test with scenario, last result and the pass rate.

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>?include=dataset,scenario&show_passrate HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>?include=dataset,scenario&show_passrate" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "test-snapshots",
    "id": "1",
    "attributes": {
      "created-at" : "2017-02-28T11:39:08.281Z",
      "updated-at" : "2017-02-28T11:39:08.281Z",
      "last-author" : "harry@example.org",
      "name": "Find horcruxes",
      "definition-json": {
        "scenario-name": "Find horcruxes",
        "dataset_name": null,
        "dataset_id": null,
        "steps": [
          {
            "action": "Given Harry has one horcrux"
          },
          {
            "result": "Then he should destroy it"
          },
        ],
        "index": 0
      },
      "status": "passed",
      "scenario-snapshot-id": 1,
      "folder-snapshot-id": 5,
      "pass-rate": "75"
    },
    "links": {
      "self": "/test-snapshots/1"
    },
    "relationships": {
      "scenario": {
        "data": {
          "type": "scenarios",
          "id": "10"
        }
      },
      "dataset": {},
      "last-result": {
        "links": {
          "self": "/test-snapshots/1/relationships/last-result",
          "related": "/test-snapshots/1/last-result"
        },
        "data": {
          "type": "test-results",
          "id": "7"
        }
      }
    }
  },
  "included": [
    {
      "type": "scenarios",
      "id": "10",
      "attributes": {
        "created-at": "2017-02-26T07:10:42.651Z",
        "updated-at": "2017-02-26T10:22:23.206Z",
        "last-author": "harry@example.org",
        "name": "Find horcruxes",
        "description": "That will help to kill Voldemort",
        "folder-id": 162629,
        "definition": "scenario 'Find horcruxes' do\n  call given 'Harry has one horcrux'\n  call then 'he should destroy it\nend\n"
      },
      "links": {
        "self": "/scenarios/10"
      },
      "relationships": {
        "folder": {}
      }
    },
    {
      "type": "test-results",
      "id": "7",
      "attributes": {
        "created-at": "2017-03-01T14:38:16.612Z",
        "updated-at": "2018-03-01T14:38:16.612Z",
        "last-author": "harry@example.org",
        "status": "passed",
        "description": null,
        "status-author": "Harry",
        "step-statuses": [
          "passed",
          "passed"
        ]
      },
      "links": {
        "self": "/test-results/7"
      },
      "relationships": {
        "test-snapshot": {},
        "build": {},
        "execution-environment": {}
      }
    }
  ]
}

The available additional data are the following:

Field name Description
scenario The original scenario that produced the test
dataset The dataset that produced the test (if it comes from a scenario using a datatable)
last-result The details of the last test result of the test

show_passrate parameter can be added to include test pass rate in the response.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the test you want
test_snapshot_id The ID of the test you want to get

Request parameters

Parameter Description
include The data to include in the test JSON response. Fields must be comma-separated
show_passrate Add this parameter to get the test pass rate in the data

Test folders

Get test folders of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
"data": [
        {
                     "type": "folder-snapshots",
                       "id": "1",
               "attributes": {
                 "created-at": "2017-09-15T12:59:08.328Z",
                 "updated-at": "2017-09-15T12:59:08.710Z",
                "last-author": "HarryP",
                       "name": "A Hogwarts project",
                "description": "",
                   "statuses": {
                       "passed_count": 0,
                       "failed_count": 0,
                       "retest_count": 0,
                    "undefined_count": 3,
                      "blocked_count": 0,
                      "skipped_count": 0,
                          "wip_count": 0
                },
                  "parent-id": null,
                "test-run-id": 1
            },
                    "links": {
                "self": "/folder-snapshots/1"
            },
            "relationships": {
                        "folder": {},
                      "children": {},
                "test-snapshots": {}
            }
        },
        {
                     "type": "folder-snapshots",
                       "id": "1",
               "attributes": {
                 "created-at": "2017-09-15T12:59:08.328Z",
                 "updated-at": "2017-09-15T12:59:08.710Z",
                "last-author": "HarryP",
                       "name": "The Philosopher's Stone",
                "description": "",
                   "statuses": {
                       "passed_count": 0,
                       "failed_count": 0,
                       "retest_count": 0,
                    "undefined_count": 3,
                      "blocked_count": 0,
                      "skipped_count": 0,
                          "wip_count": 0
                },
                  "parent-id": 1,
                "test-run-id": 1
            },
                    "links": {
                "self": "/folder-snapshots/1"
            },
            "relationships": {
                        "folder": {},
                      "children": {},
                "test-snapshots": {}
            }
        }
      ]
    }

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test folders from
test_run_id The ID of the test run that contains the test folders you want

Get a test folder

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
"data": [
        {
                     "type": "folder-snapshots",
                       "id": "1",
               "attributes": {
                 "created-at": "2017-09-15T12:59:08.328Z",
                 "updated-at": "2017-09-15T12:59:08.710Z",
                "last-author": "HarryP",
                       "name": "A Hogwarts project",
                "description": "",
                   "statuses": {
                       "passed_count": 0,
                       "failed_count": 0,
                       "retest_count": 0,
                    "undefined_count": 3,
                      "blocked_count": 0,
                      "skipped_count": 0,
                          "wip_count": 0
                },
                  "parent-id": null,
                "test-run-id": 1
            },
                    "links": {
                "self": "/folder-snapshots/1"
            },
            "relationships": {
                        "folder": {},
                      "children": {},
                "test-snapshots": {}
            }
        }
      ]
    }

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test folders from
test_run_id The ID of the test run that contains the test folders you want
folder_snapshot_id The ID of the test folder you want to get

Get a test folder additional data

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=<fields> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=<fields>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

The data you want to include in the response must be comma-separated

You can use the JSONAPI include syntax to fetch additional data about your tests.

The available additional data are the following:

Field name Description
folder The original folder that produced the test folder
children The subfolders of the test folder
test-snapshots The tests contained by the test folder
GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=folder HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=folder" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

Get a test folder original scenario folder

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=children HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=children" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

Get the subfolders of a test folder

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=test-snapshots HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/folder_snapshots/<folder_snapshot_id>?include=test-snapshots" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'

Get the tests of a test folder

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the test folders from
test_run_id The ID of the test run that contains the test folders you want
folder_snapshot_id The ID of the test folder you want to get

Request parameters

Parameter Description
include The data to include in the test JSON response. Fields must be comma-separated

Test execution

Getting started with test executions

Test execution results in HipTest are organized in the following way:

The notion of execution environments is entirely optional. You can use them if you have several environments on which you want to execute your tests. If you do not wish to have specific environments, you can ignore them and work directly with builds at test run level.

The Builds section specifies all operations that can be performed without execution environments.

The Execution environments section specifies how to work with multiple environments.

Each entry in the Builds section has a warning if an execution environment ID is mandatory when working with multiple environments.

Add a test execution result

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "test-results",
    "attributes": {
      "status": "passed",
      "status-author": "Harry",
      "description": "All was well"
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "test-results", "attributes": {"status": "passed", "status-author": "Harry", "description": "All was well"}}}'

Newly created test result

{
  "data": {
    "type": "test-results",
    "id": "1",
    "attributes": {
      "created-at" : "2017-02-28T11:39:08.281Z",
      "updated-at" : "2017-02-28T11:39:08.281Z",
      "last-author" : "harry@example.org",
      "status": "passed",
      "created-at": "Couple of miliseconds ago",
      "description": "",
      "status-author": "Harry"
    },
    "links": {
      "self": "/test-results/1"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": "1"
        }
      },
      "build": {
        "data": null
      }
    }
  },
  "included": [
    {
      "test-snapshot": "test data"
    }
  ]
}

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the test you want
test_snapshot_id The ID of the test whose you want add a test result to

Mandatory fields

Field Description
status (String) The result of the test execution. Possible values are ‘passed’, 'failed’, 'wip’, 'retest’, 'blocked’, 'skipped’, 'undefined’.
status-author (String) The name of the author of the test execution
description (String) A comment about the test execution

Optional fields

Field Description
build (JSONAPI Relationship) The build containing your test execution result
execution_environment (JSONAPI Relationship) The execution environment containing your test execution result

If a build is provided, the test result will be created into that build.

If an execution environment is provided, the test result will be created into the current build of that execution environment

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "test-results",
    "attributes": {"status": "passed", "status-author": "Harry", "description": "All was well"},
    "relationships": {
      "build": {
        "data": {
          "type": "build",
          "id": 1
        }
      }
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{
      "type": "test-results", "attributes": {"status": "passed", "status-author": "Harry", "description": "All was well"},
      "relationships": {
        "build": {
          "data": {
            "type: "build",
            "id": 1
          }
        }
      }
    }'

Newly created test result

{
  "data": {
    "type": "test-results",
    "id": "1",
    "attributes": {
      "status": "passed",
      "created-at": "Couple of miliseconds ago",
      "description": "",
      "status-author": "Harry"
    },
    "links": {
      "self": "/test-results/1"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": "1"
        }
      },
      "build": {
        "data": {
          "type": "builds",
          "id": "1"
        }
      }
    }
  },
  "included": [
    {
      "type": "test-snapshots",
      "attributes": "test data"
    },

    {
      "type": "builds",
      "attributes": "build data"
    }
  ]
}
POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "test-results",
    "attributes": {"status": "passed", "status-author": "Harry", "description": "All was well"},
    "relationships": {
      "execution-environment": {
        "data": {
          "type": "execution-environment",
          "id": 1
        }
      }
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{
      "type": "test-results", "attributes": {"status": "passed", "status-author": "Harry", "description": "All was well"},
      "relationships": {
        "execution-environment": {
          "data": {
            "type: "execution-environment",
            "id": 1
          }
        }
      }
    }'

Newly created test result

{
  "data": {
    "type": "test-results",
    "id": "1",
    "attributes": {
      "status": "passed",
      "created-at": "Couple of miliseconds ago",
      "description": "",
      "status-author": "Harry"
    },
    "links": {
      "self": "/test-results/1"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": "1"
        }
      },
      "build": {
        "data": {
          "type": "builds",
          "id": "1"
        }
      }
    }
  },
  "included": [
    {
      "type": "test-snapshots",
      "attributes": "test data"
    },

    {
      "type": "builds",
      "attributes": "build data"
    }
  ]
}

Update a test execution result

PATCH https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results/<test_result_id> HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "type": "test-results",
    "id": <test_result_id>,
    "attributes": {
      "status": "passed",
      "status-author": "Jenkins",
      "description": "Automated jenkins job"
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPUT "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results/<test_result_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"type": "test-results", "id": <test_result_id>, "attributes": {"status": "passed", "status-author": "Jenkins", "description": "Automated jenkins job"}}}'

Updated test result

{
  "data": {
    "type": "test-results",
    "id": "<test_result_id>",
    "attributes": {
      "created-at" : "2017-02-28T11:39:08.281Z",
      "updated-at" : "2017-02-28T11:39:08.281Z",
      "last-author" : "harry@example.org",
      "status": "passed",
      "created-at": "Couple of miliseconds ago",
      "description": "Automated jenkins job",
      "status-author": "Jenkins"
    },
    "links": {
      "self": "/test-results/<test_result_id>"
    },
    "relationships": {
      "test-snapshot": {},
      "build": {}
    }
  }
}

The API allows you to update a test result following the {json:api} way to patch resources.

Status, author and/or description may be updated specifying the status, status-author and/or description attributes of the resource.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the test you want
test_snapshot_id The ID of the test whose you want to update a test result to
test_result_id The ID of the test result you want to update

Attributes that may be updated

Field Description
status (String) The status of the test execution. Possible values are 'passed’, 'failed’, 'wip’, 'retest’, 'blocked’, 'skipped’, 'undefined’.
status-author (String) The name of the author of the test execution
description (String) A comment about the test execution

Builds

What’s a build?

A build is a way to group the execution results of the tests contained in a HipTest test run.

You can find more details on test executions and builds in the Test execution introduction section.

List builds of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "builds",
      "id": "1",
      "attributes": {
        "created-at": "2017-06-13T08:15:38.607Z",
        "test-run-id": 1,
        "is-running": false,
        "closed-at": "2017-06-16T09:13:48.737Z"
      },
      "links": {
        "self": "/builds/1"
      }
    },
    {
      "type": "builds",
      "id": "2",
      "attributes": {
        "created-at": "2017-06-13T08:15:38.607Z",
        "test-run-id": 1,
        "is-running": true,
        "closed-at": null
      },
      "links": {
        "self": "/builds/2"
      }
    }
  ]
}

This endpoint retrieves all builds of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project that contains the requested test run
test_run_id The ID of the test run you want to retrieve the builds from

Create a new build in a test run

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds" \
    -XPOST \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{}'

A new build

  {
    "data": {
      "type": "builds",
      "id": "3",
      "attributes": {
        "created-at": "now!",
        "test-run-id": 1,
        "is_running": true,
        "closed_at": null
      },
      "links": {
        "self": "/builds/3"
      }
    }
  }

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you are executing

Get a specific build of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "builds",
    "id": "1",
    "attributes": {
      "created-at": "2017-06-13T08:15:38.607Z",
      "test-run-id": 1,
      "is-running": false,
      "closed-at": "2017-06-16T09:13:48.737Z"
    },
    "links": {
      "self": "/builds/1"
    }
  },
  "included": []
}

This endpoint retrieves a specific build of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
test_run_id The ID of the test run you want to retrieve the build from

Get test execution results of a build

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>?include=test-results HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>?include=test-results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "builds",
    "id": "1",
    "attributes": {
      "created-at": "2017-06-13T08:15:38.607Z",
      "test-run-id": 1,
      "is-running": false,
      "closed-at": "2017-06-16T09:13:48.737Z"
    },
    "links": {
      "self": "/builds/1"
    },
    "relationships": {
      "test-results": {
        "data": [
          {
            "type": "test-results",
            "id": "1"
          },
          {
            "type": "test-results",
            "id": "2"
          }
        ]
      }
    }
  },
  "included": [
    {
      "type": "test-results",
      "id": "1",
      "attributes": {
        "status": "passed",
        "created-at": "1980-07-01T12:00:00.350Z",
        "description": "",
        "status-author": "Jenkins",
        "step-statuses": [
          "passed",
          "passed",
          "passed"
        ],
        "test-snapshot-id": 1
      },
      "links": {
        "self": "/test-results/1"
      }
    },
    {
      "type": "test-results",
      "id": "2",
      "attributes": {
        "status": "failed",
        "created-at": "1980-07-01T12:00:00.350Z",
        "description": "Error on line 42",
        "status-author": "Jenkins",
        "step-statuses": [],
        "test-snapshot-id": 2
      },
      "links": {
        "self": "/test-results/2"
      }
    }
  ]
}

Use the JSONAPI include syntax to fetch the test execution results of your build.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you want to retrieve the build from

Get the current build of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/current" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/current" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "builds",
    "id": "1",
    "attributes": {
      "created-at": "2017-06-13T08:15:38.607Z",
      "test-run-id": 1,
      "execution-environment-id": 29,
      "is-running": false,
      "closed-at": "2017-06-16T09:13:48.737Z"
    },
    "links": {
      "self": "/builds/1"
    }
  },
  "included": []
}

This endpoint retrieves the current build of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you want to retrieve the build from

Get test execution results of the current build of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/current?include=test-results" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/current?include=test-results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "builds",
    "id": "1",
    "attributes": {
      "created-at": "2017-06-13T08:15:38.607Z",
      "test-run-id": 1,
      "execution-environment-id": 29,
      "is-running": false,
      "closed-at": "2017-06-16T09:13:48.737Z"
    },
    "links": {
      "self": "/builds/1"
    },
    "relationships": {
      "test-results": {
        "data": [
          {
            "type": "test-results",
            "id": "1"
          },
          {
            "type": "test-results",
            "id": "2"
          }
        ]
      }
    }
  },
  "included": [
    {
      "type": "test-results",
      "id": "1",
      "attributes": {
        "status": "passed",
        "created-at": "1980-07-01T12:00:00.350Z",
        "description": "",
        "status-author": "Jenkins",
        "step-statuses": [
          "passed",
          "passed",
          "passed"
        ],
        "test-snapshot-id": 1
      },
      "links": {
        "self": "/test-results/1"
      }
    },
    {
      "type": "test-results",
      "id": "2",
      "attributes": {
        "status": "failed",
        "created-at": "1980-07-01T12:00:00.350Z",
        "description": "Error on line 42",
        "status-author": "Jenkins",
        "step-statuses": [],
        "test-snapshot-id": 2
      },
      "links": {
        "self": "/test-results/2"
      }
    }
  ]
}

Use the JSONAPI include syntax to fetch the test execution results of the current build of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you want to retrieve the build from

Add a test execution result to a build

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>/test_results HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>

{
  "data": {
    "type": "test-results",
    "attributes": {
      "status": "passed",
      "status-author": "Harry",
      "description": "All was well"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": 1
        }
      }
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/test_snapshots/<test_snapshot_id>/test_results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{
      "data": {
        "type": "test-results",
        "attributes": {
          "status": "passed",
          "status-author": "Harry",
          "description": "All was well"
        },
        "relationships": {
          "test-snapshot": {
            "data": {
              "type": "test-snapshots",
              "id": 1
            }
          }
        }
      }
    }'

Newly created test result

{
  "data": {
    "type": "test-results",
    "id": "1",
    "attributes": {
      "status": "passed",
      "created-at": "Couple of miliseconds ago",
      "description": "",
      "status-author": "Harry"
    },
    "links": {
      "self": "/test-results/1"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": "1"
        },
      },
      "build": {
        "data": {
          "type": "builds",
          "id": "1"
        }
      }
    },
    "included": [
      {
        "type": "test-snapshots",
        "attributes": "test data"
      },

      {
        "type": "builds",
        "attributes": "build data"
      }
    ]
  }
}

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the test you want
build_id The ID of the build you want add a test result to

Mandatory fields

Field Description
status (String) The status of the test execution. Possible values are ‘passed’, 'failed’, 'wip’, 'retest’, 'blocked’, 'skipped’, 'undefined’.
status-author (String) The name of the author of the test execution
description (String) A comment about the test execution
test-snapshot (JSONAPI relationship) The executed test

Close a build

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>/close" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/builds/<build_id>/close" \
    -XPOST \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{}'

The closed build

  {
    "data": {
      "type": "builds",
      "id": "3",
      "attributes": {
        "created-at": "2017-06-13T08:15:38.607Z",
        "test-run-id": 1,
        "is-running": false,
        "closed-at": "2017-06-16T09:13:48.737Z"
      },
      "links": {
        "self": "/builds/3"
      },
      "relationships": {
        "test-results": {}
      }
    }
  }

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you are executing
build_id The ID of the build you want to close

Execution environments

What’s an execution environment?

An execution environment is a way to group several builds by in a HipTest test run.

You can find more details on test executions and execution environments in the Test execution introduction section.

List execution environments of a test run

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "execution-environments",
      "id": "1",
      "attributes": {
        "name": "Default",
        "test-run-id": 1,
        "created-at": "2017-06-13T08:15:38.607Z",
        "updated-at": "2018-09-09T10:48:48.685Z"
      },
      "links": {
        "self": "/execution-environments/1"
      }
    },
    {
      "type": "execution-environments",
      "id": "2",
      "attributes": {
        "name": "Environment 1",
        "test-run-id": 1,
        "created-at": "2017-06-13T08:15:38.607Z",
        "updated-at": "2018-09-09T10:48:48.685Z"
      },
      "links": {
        "self": "/execution-environments/2"
      }
    }
  ]
}

This endpoint retrieves all execution environments of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project that contains the requested test run
test_run_id The ID of the test run you want to retrieve the builds from

List builds of an execution environment

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": [
    {
      "type": "builds",
      "id": "1",
      "attributes": {
        "created-at": "2017-06-13T08:15:38.607Z",
        "test-run-id": 1,
        "execution-environment-id": 1,
        "is-running": true,
        "closed-at": "2017-06-16T09:13:48.737Z"
      },
      "links": {
        "self": "/builds/1"
      }
    },
    {
      "type": "builds",
      "id": "2",
      "attributes": {
        "created-at": "2017-06-13T08:15:38.607Z",
        "test-run-id": 1,
        "execution-environment-id": 1,
        "is-running": false,
        "closed-at": null
      },
      "links": {
        "self": "/builds/2"
      }
    }
  ]
}

This endpoint retrieves all builds of a given execution environment.

URL Parameters

Parameter Description
project_id The ID of the project that contains the requested test run
test_run_id The ID of the test run that contains the requested execution environment
execution_environment_id The ID of the execution environment you want to retreive the builds from

Create a new execution environment

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "attributes": {
      "name": "Execution environment 1"
    }
  }
}
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments" \
    -XPOST \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{"data": {"attributes": { "name": "Execution environment 1"} } }'

A new execution environment

  {
    "data": {
      "type": "execution-environments",
      "id": "1",
      "attributes": {
        "name": "Execution environment 1",
        "test-run-id": 29,
        "created-at": "2019-02-22T08:59:38.603Z",
        "updated-at": "2019-02-22T08:59:38.603Z"
      },
      "links": {
        "self": "/execution-environments/1"
      }
    }
  }

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the folders from
test_run_id The ID of the test run you are executing

Create a new build in a specific execution environment

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds" \
    -XPOST \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{}'

A new build

  {
    "data": {
      "type": "builds",
      "id": "3",
      "attributes": {
        "created-at": "now!",
        "test-run-id": 1,
        "execution-environment-id": 29,
        "is_running": true,
        "closed_at": null
      },
      "links": {
        "self": "/builds/3"
      }
    }
  }

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you are executing
execution_environment_id The ID of the execution environment for your new build

Get the current build of an execution environment

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds/current" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds/current" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "builds",
    "id": "1",
    "attributes": {
      "created-at": "2017-06-13T08:15:38.607Z",
      "test-run-id": 1,
      "execution-environment-id": 29,
      "is-running": false,
      "closed-at": "2017-06-16T09:13:48.737Z"
    },
    "links": {
      "self": "/builds/1"
    }
  },
  "included": []
}

This endpoint retrieves the current build of a given test run.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you want to retrieve the build from
execution_environment_id The ID of the execution environment you want to retrieve the build from

Get test execution results of the current build of an execution environment

GET https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds/current?include=test-results" HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/builds/current?include=test-results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>'
{
  "data": {
    "type": "builds",
    "id": "1",
    "attributes": {
      "created-at": "2017-06-13T08:15:38.607Z",
      "test-run-id": 1,
      "execution-environment-id": 29,
      "is-running": false,
      "closed-at": "2017-06-16T09:13:48.737Z"
    },
    "links": {
      "self": "/builds/1"
    },
    "relationships": {
      "test-results": {
        "data": [
          {
            "type": "test-results",
            "id": "1"
          },
          {
            "type": "test-results",
            "id": "2"
          }
        ]
      }
    }
  },
  "included": [
    {
      "type": "test-results",
      "id": "1",
      "attributes": {
        "status": "passed",
        "created-at": "1980-07-01T12:00:00.350Z",
        "description": "",
        "status-author": "Jenkins",
        "step-statuses": [
          "passed",
          "passed",
          "passed"
        ],
        "test-snapshot-id": 1
      },
      "links": {
        "self": "/test-results/1"
      }
    },
    {
      "type": "test-results",
      "id": "2",
      "attributes": {
        "status": "failed",
        "created-at": "1980-07-01T12:00:00.350Z",
        "description": "Error on line 42",
        "status-author": "Jenkins",
        "step-statuses": [],
        "test-snapshot-id": 2
      },
      "links": {
        "self": "/test-results/2"
      }
    }
  ]
}

Use the JSONAPI include syntax to fetch the test execution results of the current build of a given execution environment.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the build from
test_run_id The ID of the test run you want to retrieve the build from
execution_environment_id The ID of the execution environment you want to retrieve the build from

Add a test execution result to the current build of an execution environment

POST https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/test_results HTTP/1.1
Accept: application/vnd.api+json; version=1
access-token: <your access token>
client: <your client id>
uid: <your uid>


{
  "data": {
    "type": "test-results",
    "attributes": {
      "status": "passed",
      "status-author": "Harry",
      "description": "All was well"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": 1
        }
      }
    }
  }
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
curl -XPOST "https://app.hiptest.com/api/projects/<project_id>/test_runs/<test_run_id>/execution_environments/<execution_environment_id>/test_results" \
    -H 'accept: application/vnd.api+json; version=1' \
    -H 'access-token: <your access token>' \
    -H 'uid: <your uid>' \
    -H 'client: <your client id>' \
    --data '{
      "data": {
        "type": "test-results",
        "attributes": {
          "status": "passed",
          "status-author": "Harry",
          "description": "All was well"
        },
        "relationships": {
          "test-snapshot": {
            "data": {
              "type": "test-snapshots",
              "id": 1
            }
          }
        }
      }
    }'

Newly created test result

{
  "data": {
    "type": "test-results",
    "id": "1",
    "attributes": {
      "status": "passed",
      "created-at": "Couple of miliseconds ago",
      "description": "",
      "status-author": "Harry"
    },
    "links": {
      "self": "/test-results/1"
    },
    "relationships": {
      "test-snapshot": {
        "data": {
          "type": "test-snapshots",
          "id": "1"
        },
      }
      "build": {
        "data": {
          "type": "builds",
          "id": "1"
        }
      }
    }
  },
  "included": [
    {
      "type": "test-snapshots",
      "attributes": "test data"
    },

    {
      "type": "builds",
      "attributes": "build data"
    }
  ]
}

This endpoint will create a test result in the current build of the specified execution environment.

URL Parameters

Parameter Description
project_id The ID of the project you want to retrieve the tests from
test_run_id The ID of the test run that contains the test you want
execution_environment_id The ID of the execution environment you want add a test result to

Mandatory fields

Field Description
status (String) The status of the test execution. Possible values are ‘passed’, 'failed’, 'wip’, 'retest’, 'blocked’, 'skipped’, 'undefined’.
status-author (String) The name of the author of the test execution
description (String) A comment about the test execution
test-snapshot (JSONAPI relationship) The executed test