NAV
shell

Introduction

Welcome to the API documentation of Refiner!

You can use our API to access survey data that you collected with Refiner. The API can also be used to import additional user data from your backend database into your Refiner account.

This API uses the JSON format and all requests made to the API need to be JSON encoded. All requested data is returned JSON encoded.

Query parameters and data that is sent to the API can either be provided as URL parameters or inside the the request body as a JSON object.

Authentication

Authenticate with the Bearer Token method

curl "https://api.refiner.io/v1/"
  -H "Authorization: Bearer YOUR_API_KEY"

Authenticate using a request parameter

curl "https://api.refiner.io/v1/" \
  -d api_key=YOUR_API_KEY

Authenticate using the HTTP Basic Auth method

curl "https://api.refiner.io/v1/" \
  -u YOUR_API_KEY: 

Refiner uses API keys to allow access to the API. You can obtain your personal API key in your Refiner dashboard under "Integrations > Rest API".

Refiner expects for the API key to be included in all API requests. Your API key can be provided in three different ways.

The recommended authentication method is to provide your API key as a Bearer token as shown in the example below.

Authorization: Bearer YOUR_API_KEY

Alternatively, you can also provide the your API key as request a parameter. For this method, include an api_key=YOUR_API_KEY parameter either in the request URL or in the request body.

As a third option, you can authenticate with the HTTP Basic authentication method by using your API key as the username and leaving the password blank (YOUR_API_KEY:). Please note that the trailing : is needed.

HTTP Request

GET https://api.refiner.io/v1/

User Tracking

Identify User

In its simplest form, you can just send a user ID or an email to identify a user

curl "https://api.refiner.io/v1/identify-user" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \
  -d email="user@email.com" \
  -d some_attribute="Manager" \
  -d created_at="2020-08-20T14:48:00.000Z"

Most likely you want to provide additional data

curl "https://api.refiner.io/v1/identify-user" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \
  -d email="user@email.com" \
  -d some_attribute="Manager" \
  -d another_attribute=true \
  -d created_at="2020-08-20T14:48:00.000Z"

The above commands returns JSON structured like this:

{
  "message": "ok",
  "contact_uuid": "15cce3d0-ed5d-11ea-aaef-e58a2a43e996"
}

This endpoint lets you identify users as you would normally do with our JavaScript client. This function is typically used alongside our Javascript client to provide additional user traits which you don't want to expose publicly.

User data provided through this backend call will be merged with data provided by our Web-Client or Mobile SDKs based on the User ID you provide.

When you identify a user for the first time, a new contact will be created in Refiner. All subsequent calls with the same user ID will update their attributes.

HTTP Request

POST https://api.refiner.io/v1/identify-user

Mandatory Request Parameters

You need to provide either the user ID or an email address to identify your user.

Parameter Description
id The ID of the user which you want to identify. If the user does not exit in your Refiner account yet, it will be created automatically.
email As an alternative to the user ID, you can also identify users with their email address.

User Traits Parameters

You can send in any user traits alongside the user ID or email address as shown in the code sample to the right.

Any user data you send will be attached to the user record as a trait. The trait is identified by the attribute slug and data type (string, date or number). If a trait does not exist in your Refiner account yet, it will be created on the fly.

Type Description
string Provide any string data with up to 255 in length (e.g. country: "france", subscription: "pro", ...)
date When the attribute slug ends with a _at (e.g. created_at: "2022-07-09", upgraded_at: "2022-07-09 10:01:01", ...), Refiner will try to parse the string as a date. All standardized date strings (e.g. ISO 8601) should work.
number Integer numbers are automatically detected if they are not wrapped in quotes (e.g. a_number: 42)
boolean A boolean value that is not wrapper in quotes (e.g. ok: true)

Group Users

You provide an nested account object to group users together

curl "https://api.refiner.io/v1/identify-user" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \
  -d email="user@email.com" \
  -d some_attribute="Manager" \
  -d another_attribute=true \
  -d created_at="2020-08-20T14:48:00.000Z" \
  -d account[id]="Your-Account-Id" \
  -d account[name]="Awesome Inc."

The above command returns JSON structured like this:

{
  "message": "ok",
  "contact_uuid": "15cce3d0-ed5d-11ea-aaef-e58a2a43e996"
}

Refiner stores users as two separate objects, a contact and an account.

Both objects are automatically created when you identify a new user. If you don't provide any additional account data, one account is created alongside each user.

You can however choose to group multiple contacts together under one account.

To do so you need to provide an account object within the payload of your identify-user call as shown in the code example.

At a minimum, your account object needs to contain an id attribute. As with contacts, you can provide additional traits for accounts.

Track Event

Track an event for an existing user by providing a their ID and an event name

curl "https://api.refiner.io/v1/track-event" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \
  -d event="Your event name"

The above commands returns JSON structured like this:

{
  "message": "ok",
}

This endpoint provides a simple way to track user events. To track a user event, you need to provide the ID of your user and a name for the event that occured.

If no user matches the provided id or email, a new user is created.

Event data tracked through this backend call will be merged with event data provided by our Javascript client library.

HTTP Request

POST https://api.refiner.io/v1/track-event

Request Payload

Parameter Description
id The ID of the user for which you want to track an event
email You can also choose to identify a user with their email address
event The name of the event that you want to track for your user

Responses

Get Responses

curl "https://api.refiner.io/v1/responses"
  -H "Authorization: Bearer YOUR_API_KEY"

The above command returns JSON structured like this:

{
  "items": [
    {
      "uuid": "cb47c260-ed64-11ea-8187-a7fc8351fba4",
      "first_shown_at": "2020-09-02 21:53:33",
      "last_shown_at": "2020-09-02 21:53:33",
      "show_counter": 1,
      "first_data_reception_at": "2020-09-02 21:53:33",
      "last_data_reception_at": "2020-09-02 21:53:33",
      "completed_at": "2020-09-02 21:53:33",
      "received_at": "2020-09-02 21:53:33",
      "dismissed_at": null,
      "form": {
        "uuid": "3894dc20-8fe9-11ea-892e-d13af52e06ae",
        "name": "My first survey"
      },
      "data": {
        "first_question": "First Reply",
        "second_question": "Second Reply"
      },
      "contact": {
        "uuid": "e5365340-ed47-11ea-9a73-61d23f380055",
        "remote_id": "YOUR-USER-ID-123",
        "email": "jane@awesome.com",
        "display_name": "Jane Doe",
        "account": {
          "uuid": "5ab55ab0-ebf3-11ea-a442-4fa2c72e1cf7",
          "remote_id": "Your account ID",
          "display_name": "Awesome Inc.",
          "domain": null
        }
      }
    },
    {
      "uuid": "cb47c260-ed64-11ea-8187-a7fc8351fba4",
      "first_shown_at": "2020-09-02 21:53:33",
      "last_shown_at": "2020-09-02 22:53:33",
      "show_counter": 2,
      "first_data_reception_at": null,
      "last_data_reception_at": null,
      "completed_at": null,
      "received_at": null,
      "dismissed_at": null,
      "form": {
        "uuid": "3894dc20-8fe9-11ea-892e-d13af52e06ae",
        "name": "My first survey"
      },
      "data": {
        "first_question": null,
        "second_question": null
      },
      "contact": {
        "uuid": "e5365340-ed47-11ea-9a73-61d23f380055",
        "remote_id": "YOUR-USER-ID-123",
        "email": "jane@awesome.com",
        "display_name": "Jane Doe",
        "attributes": []
        "account": {
          "uuid": "5ab55ab0-ebf3-11ea-a442-4fa2c72e1cf7",
          "remote_id": "Your account ID",
          "display_name": "Awesome Inc.",
          "domain": null,
          "attributes": []
        }
      }
    },
    ...
  ],
  "pagination": {
    "items_count": 1100,
    "current_page": 1,
    "last_page": 22,
    "page_length": 55,
    "next_page_cursor": "eyJpdiI6ImpCMlY3cERCbEo0Qk1Ge..."
  }
}

This endpoint retrieves all survey views and responses.

Included in the response is the response data itself, information about survey and basic information about the contact who responded.

Like all list calls, the response body contains an items array and a pagination object. For larger data sets (e.g. > 10.000 entries), we recommend cursor based pagination (page_cursor) instead of using numeric page numbers (page). The cursor pointing to the next page is provided in the pagination object as next_page_cursor.

The list is returned in reverse chronological order using the last_data_reception_at field. If include is set to all (survey views included), the last_shown_at field is used for ordering.

When using date_range_start or date_range_end filter, the reference time stamp is last_data_reception_at. If include is set to all (survey views included), the last_shown_at field is used for the date range filter. Please note that both timestamps can evolve over time, for example when using the Follow-Up feature of in-product surveys.

HTTP Request

GET https://api.refiner.io/v1/responses

Query Parameters

All query parameters are optional. Dates & times need to be provided as a ISO 8601 string (e.g. YYYY-MM-DD or YYYY-MM-DD hh:mm:ss).

Parameter Default Description
page 1 Used to paginate through results. On larger result sets we recommend to use the page_cursor to go through all results as it is much faster.
page_cursor null On larger data sets, we recommend using the page cursor provided in the pagination response as next_page_cursor to go through all result pages.
page_length 50 One request can return up to 1000 list times
form_uuid null Only return responses linked to a specific survey
segment_uuid null Only return responses for users matching a specific segment
date_range_start null Only return responses where last_shown_at or last_data_reception_at is equal or after provided time (see details above)
date_range_end null Only return responses where last_shown_at or last_data_reception_at is before provided time (see details above)
include completed Return responses with a certain status. Supported values are completed, partials (includes partials & completed responses) and all (includes dismissed survey views).
search null Return only responses where the contact User ID, Refiner UUID, email or name matches your search query.
with_attributes null If set to 1, the contact object of each survey response includes all attributes we have on record for a given user.

Store Responses

curl "https://api.refiner.io/v1/responses" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \
  -d form_uuid="The-Survey-Uuid" \
  -d a_question_identifier="Some value" \
  -d nps_question=9 \

This endpoint lets you store a survey response for a user. It allows you to store historical survey data, or use your own UI for surveying your users.

The endpoint is similar to the identify-user endpoint. The difference is that data provided through this endpoint results in a survey response object.

A form_uuid parameter is required to identify the survey to which you want to attach the response. The survey needs to exist in your Refiner environment, but can be empty and unpublished. You can reuse an existing survey or create a new dummy survey as a container for the responses. You can find the survey ID in the URL when opening the survey editor.

To help help Refiner better display survey responses in your dashboard (e.g. NPS values, CSAT ratings, ...), we recommend to create questions in your survey that corresponds to the data your are sending in via the API and use the same question identifiers.

HTTP Request

POST https://api.refiner.io/v1/responses

Mandatory Request Parameters

You need to provide either the user ID or an email address to identify your user.

Parameter Description
id The ID of the user which you want to identify. If the user does not exit in your Refiner account yet, it will be created automatically. As an alternative to the user ID, you can also identify users with their email address using the email attribute.
form_uuid The ID of the survey (see above) you want attach the responses to.
date The date (ISO 8601) when the survey response was initially recorded. The parameter is optional and the default value is now.
prevent_duplicates By default the API tries to detect and prevent duplicate entries. This option can be disabled by providing a boolean false value.

Response Data Parameters

You can send in any data alongside the user ID or email address as shown in the code sample to the right.

Any user data you send will be attached to the response record. The survey question is identified by the data slug and data type (string, date or number).

Type Description
string Provide any string data with up to 255 in length (e.g. position: "manager")
number Integer numbers are automatically detected if they are not wrapped in quotes (e.g. nps_score: 9)
boolean A boolean value that is not wrapper in quotes. (e.g. ok: true)

Contacts

Get Contacts

curl "https://api.refiner.io/v1/contacts"
  -H "Authorization: Bearer YOUR_API_KEY"

The above command returns JSON structured like this:

{
  "items": [
    {
        "uuid": "15cce3d0-ed5d-11ea-aaef-e58a2a43e996",
        "remote_id": "Your-Contact-ID",
        "email": "jane@awesome.com",
        "display_name": "Jane Doe",
        "first_seen_at": "2020-09-02T20:44:24.000000Z",
        "last_seen_at": "2020-09-02T21:57:50.000000Z",
        "attributes": {
            "a_user_attribute": "Manager",
            "another_one": "Marketing",
            "a_survey_answer": "9",
            "another_answer": "ABC",
            ...
        },
        "segments": [
            {
                "uuid": "0ff87720-9ae5-11ea-bce5-65a395204572",
                "name": "Power Users Segment"
            },
            ...
        ],
        "account": {
            "uuid": "15d08cc0-ed5d-11ea-b2ce-c1b46bd4b7c4",
            "remote_id": "Your-Account-Id",
            "domain": "awesome.com",
            "display_name": "Awesome Inc.",
            "first_seen_at": "2020-09-02T20:44:24.000000Z",
            "last_seen_at": "2020-09-02T21:57:50.000000Z",
            "attributes": {
                "an_account_attribute": "Computer Software",
                "another_one": "2020",
                ...
            }
        }
    },
    ...
  ],
  "pagination": {
    "items_count": 1100,
    "current_page": 1,
    "last_page": 22,
    "page_length": 55,
    "next_page_cursor": "eyJpdiI6ImpCMlY3cERCbEo0Qk1Ge..."
  }
}

This endpoint retrieves all contacts and their associated data.

A contact is created each time you identify a user or when we receive a survey response from an anonymous user.

A contact object consists of an identifier (typically your user ID), meta data, attributes, the segments they belong to and the associated account.

The attributes object consists all data points you provided merged with the survey responses we received.

Like all list calls, the response body contains an items array and a pagination object. For larger data sets (e.g. > 10.000 entries), we recommend cursor based pagination (page_cursor) instead of using numeric page numbers (page). The cursor pointing to the next page is provided in the pagination object as next_page_cursor.

HTTP Request

GET https://api.refiner.io/v1/contacts

Query Parameters

All query parameters are optional.

Parameter Default Description
order_by first_seen_at Order the list by first_seen_at, last_seen_at, last_form_submission_at
page 1 Used to paginate through results. On larger result sets we recommend to use the page_cursor to go through all results as it is much faster.
page_cursor null On larger data sets, we recommend using the page cursor provided in the pagination response as next_page_cursor to go through all result pages.
page_length 50 One request can return up to 1000 list times
form_uuid null Only return responses linked to a specific survey
segment_uuid null Only return responses for users matching a specific segment

Get Contact

Identify the contact that you want to get data for with the same ID that you used to identify them.

curl -X GET "https://api.refiner.io/v1/contact" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \

Alternatively you can also identify them by email address if you don't have an ID.

curl -X GET "https://api.refiner.io/v1/contact" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="user@email.com" \

The above commands returns JSON structured like this:

{
    "uuid": "15cce3d0-ed5d-11ea-aaef-e58a2a43e996",
    "remote_id": "Your-Contact-ID",
    "email": "jane@awesome.com",
    "display_name": "Jane Doe",
    "first_seen_at": "2020-09-02T20:44:24.000000Z",
    "last_seen_at": "2020-09-02T21:57:50.000000Z",
    "attributes": {
        "a_user_attribute": "Manager",
        "another_one": "Marketing",
        "a_survey_answer": "9",
        "another_answer": "ABC",
        ...
    },
    "segments": [
        {
            "uuid": "0ff87720-9ae5-11ea-bce5-65a395204572",
            "name": "Power Users Segment"
        },
        ...
    ],
    "account": {
        "uuid": "15d08cc0-ed5d-11ea-b2ce-c1b46bd4b7c4",
        "remote_id": "Your-Account-Id",
        "domain": "awesome.com",
        "display_name": "Awesome Inc.",
        "first_seen_at": "2020-09-02T20:44:24.000000Z",
        "last_seen_at": "2020-09-02T21:57:50.000000Z",
        "attributes": {
            "an_account_attribute": "Computer Software",
            "another_one": "2020",
            ...
        }
    }
}

This endpoint lets you fetch all data that we have on record for a specific contact in your Refiner project.

To identify the contact, you need to provide the ID which you was used when the contact was created. This is usually user ID which you also use in other tools and databases.

Alternatively you can also identify the user with their email address. Please note that multiple users with the same email address can exists in your account. We recommend to identify a users with their unique ID whenever possible.

Finally, you can also use the automatically generated UUID returned by our API when you create a contact.

HTTP Request

GET https://api.refiner.io/v1/contact

Query Parameters

To identify your users, you need to provide at least one of the following parameters.

Parameter Description
id Your user ID
email The email address of the user
uuid The automatically generated Refiner UUID

Delete Contact

Identify the contact that you want to delete with the same ID that you used to identify them.

curl -X DELETE "https://api.refiner.io/v1/contact" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \

Alternatively you can also identify them by email address if you don't have an ID.

curl -X DELETE "https://api.refiner.io/v1/contact" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="user@email.com" \

The above commands returns JSON structured like this:

{
  "message": "ok"
}

This endpoint lets you delete a contact from your Refiner project.

To delete a contact, you need to provide the ID which you was used when the contact was created. This is usually user ID which you also use in other tools and databases.

Alternatively you can also identify the user with their email address. Please note that multiple users with the same email address can exists in your account. We recommend to identify a users with their unique ID whenever possible.

Finally, you can also use the automatically generated UUID returned by our API when you create a contact.

Deleting a user will also remove their survey responses. If you want to delete a user for compliance reasons but want to keep their survey responses, consider using the identifyUser command to overwrite sensitive user data with empty values.

HTTP Request

DELETE https://api.refiner.io/v1/contact

Query Parameters

To identify your users, you need to provide at least one of the following parameters.

Parameter Description
id Your user ID
email The email address of the user
uuid The automatically generated Refiner UUID

Forms

Get Forms

Fetch all forms from your account

curl "https://api.refiner.io/v1/forms"
  -H "Authorization: Bearer YOUR_API_KEY"

The above command returns JSON structured like this:

{
  "items": [
    {
        "uuid": "4f5637d0-3d0d-11ea-b965-614418dec30c",
        "name": "My first survey"
    },
    {
        "uuid": "8d752bf0-3d0e-11ea-aeff-d7282664f71b",
        "name": "My second survey"
    },
    ...
  ],
  "pagination": {
    "items_count": 10,
    "current_page": 1,
    "last_page": 1,
    "page_length": "10"
  }
}

When include_info is set, additional data fields are included

{
  "items": [
    {
        "uuid": "4f5637d0-3d0d-11ea-b965-614418dec30c",
        "name": "My first survey",
        "channels": [
          "link"
        ],
        "published_at": "2024-06-05T13:02:57.000000Z",
        "archived_at": null,
        "created_at": "2024-06-05T13:02:53.000000Z",
        "updated_at": "2024-06-05T13:02:57.000000Z",
        "responses_count": 0,
        "views_count": 0,
        "first_form_view_at": null,
        "last_form_view_at": null,
        "folder": null,
        "page_url": "https://survey.refiner.io/s/0mn1eq-odkpm3"        
    },
    ...
  ],
  "pagination": {
    "items_count": 10,
    "current_page": 1,
    "last_page": 1,
    "page_length": "10"
  }
}

This endpoint retrieves all forms (surveys) ordered by their name.

Like all list calls, the response body contains an items array and a pagination object.

HTTP Request

GET https://api.refiner.io/v1/forms

Query Parameters

All query parameters are optional.

Parameter Default Description
list 'all' Determines which surveys are shown based on their current state. Allowed values are all, published, drafts, archived, and all_with_archived.
page 1 Used to paginate through all results
page_length 50 One request can return up to 1000 list times
include_config 0 If set to 1, the response includes the configuration of the survey and each survey element. Please note that the format and syntax might slightly change as we are adding more survey features.
include_info 0 If set to 1, the response includes additional meta data such as the creation and publishing date, response and view counts, as well as the folder a survey belongs to.

Publish Form

Publish or unpubllish a form (survey).

curl "https://api.refiner.io/v1/forms/publish"
  -H "Authorization: Bearer YOUR_API_KEY"
  -d form_uuid="FORM_UUID" \

The above command returns JSON structured like this:

{
  "message": "Your form was published successfully."
}

This enpoint lets you publish or unpublish an existing form (survey).

HTTP Request

POST https://api.refiner.io/v1/forms/publish

Query Parameters

Parameter Default Description
form_uuid null The UUID of the form (survey) which you want to publish or unpublish.
published 1 Optional parameter. If set to 0, the survey is unpublished.

Delete Form

Archive a form

curl -X DELETE "https://api.refiner.io/v1/forms/publish"
  -H "Authorization: Bearer YOUR_API_KEY"
  -d form_uuid="FORM_UUID" \

The above command returns JSON structured like this:

{
  "message": "ok"
}

This enpoint lets you archive and existing form (survey) in your account.

HTTP Request

DELETE https://api.refiner.io/v1/forms

Query Parameters

Parameter Description
form_uuid The UUID of the form (survey) which you want to archive.

Duplicate Form

Duplicate a form

curl "https://api.refiner.io/v1/forms/duplicate"
  -H "Authorization: Bearer YOUR_API_KEY"
  -d form_uuid="FORM_UUID" \
  -d name="NEW_FORM_NAME" \

The above command returns JSON structured like this:

{
  "message": "ok",
  "source_form_uuid" : "FORM_UUID",
  "new_form_uuid" : "NEW_FORM_UUID"
}

This enpoint lets you duplicate and existing form (survey) in your account. The new form will be stored as a draft and will be named according to the name parameter.

HTTP Request

POST https://api.refiner.io/v1/forms/duplicate

Query Parameters

Parameter Description
form_uuid The UUID of the form (survey) which you want to duplicate.
name The name of the new form.

Segments

Get Segments

Fetch all segments from your account

curl "https://api.refiner.io/v1/segments"
  -H "Authorization: Bearer YOUR_API_KEY"

The above command returns JSON structured like this:

{
  "items": [
    {
        "uuid": "4f5637d0-3d0d-11ea-b965-614418dec30c",
        "name": "Power Users",
        "is_manual": true
    },
    {
        "uuid": "8d752bf0-3d0e-11ea-aeff-d7282664f71b",
        "name": "Signed Up 30 Days Ago",
        "is_manual": false
    },
    ...
  ],
  "pagination": {
    "items_count": 10,
    "current_page": 1,
    "last_page": 1,
    "page_length": "10"
  }
}

This endpoint retrieves all segments ordered by their name.

Like all list calls, the response body contains an items array and a pagination object.

HTTP Request

GET https://api.refiner.io/v1/segments

Query Parameters

All query parameters are optional.

Parameter Default Description
page 1 Used to paginate through all results
page_length 50 One request can return up to 1000 list times

Add a new or existing user to a manual segment

curl "https://api.refiner.io/v1/track" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d id="Your-User-Id" \
  -d segment_uuid="4f5637d0-3d0d-11ea-b965-614418dec30c"

The above commands returns JSON structured like this:

{
  "message": "ok",
  "contact_uuid": "15cce3d0-ed5d-11ea-aaef-e58a2a43e996",
  "segment_uid": "4f5637d0-3d0d-11ea-b965-614418dec30c"
}

This endpoint allows you to add and remove users to a manual segment in Refiner. You can identify the user either with an id or their email.

If no user matches the provided id or email, a new user is created.

HTTP Request

POST https://api.refiner.io/v1/sync-segment

DELETE https://api.refiner.io/v1/sync-segment

Request Payload

Parameter Description
id The ID of the user for which you want to track an event
email You can also choose to identify a user with their email address
segment_uuid The UUID of the manual segment

Account

Get Account Info

Fetch information about your Refiner account

curl "https://api.refiner.io/v1/account"
  -H "Authorization: Bearer YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "subscription": {
        "plan": "Friends & Family",
        "mtu_count_updated_at": "2024-02-05T16:29:18.000000Z",
        "mtu_count": 9,
        "mtu_limit": 5000,
        "mte_count_updated_at": "2024-02-05T16:29:18.000000Z",
        "mte_count": 128,
        "mpv_count_updated_at": "2024-02-05T16:29:18.000000Z",
        "mpv_count": 42,
        "mpv_limit": 1000000,
        "msr_count_updated_at": "2024-02-05T16:29:18.000000Z",
        "msr_count": 23,
        "msr_limit": 1000
    },
    "environments": [
        {
            "uuid": "55cc62c0-ebc6-11ec-8c30-b1d2c2514c88",
            "name": "Production",
            "mtu": 9,
            "mte": 141,
            "mpv": 42,
            "msr": 23
        },
        {
            "uuid": "489e4c80-8dd0-11ed-99a5-8b847483cb52",
            "name": "Testing",
            "mtu": 70,
            "mtu": 0,
            "mte": 0,
            "mpv": 0,
            "msr": 0
        }
    ]
}

This endpoint returns information about your Refiner account, such as your current subscription usage and the environments you've created.

HTTP Request

GET https://api.refiner.io/v1/account

Query Parameters

The route does not require any parameters, except a valid API key is enough.

Errors

Errors are returned with additional information

{
  "error": "Some additional information"
}

The Refiner API uses the following HTTP error codes. Beside returning a HTTP error code in the response header, a error message is included in the JSON response body.

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The kitten requested is hidden for administrators only.
404 Not Found -- The specified kitten could not be found.
429 Too Many Requests -- You're requesting too many kittens! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.