Why use the Savio API?

You can use the Savio API to:

  • Send feedback to Savio programmatically.
  • Connect Savio with integration services like Zapier.
  • Sync customer data from system Savio doesn't integrate with so you can easily assign and filter feedback.

Copy API Reference for AI

Copy and paste the text below into ChatGPT, Claude, or another AI assistant to give it full context about the Savio API.

Authentication

The Savio API uses token based authentication. You can find your API token on your API Settings page.

When using the API as a webhook target in Zapier or similar service you need to include your API Token as an HTTP header:

HTTP Header Value

Note that the value of the Authorization header must include the word Token followed by a space and then your API token.

API Reference

Feedback

Feedback can be created.

Create Feedback

Feedback can be created via a POST to https://www.savio.io/app/api/create-feedback/.

HTTP Response Codes

Result Response Code Value

Parameters

Parameter Required Description

Example
curl https://www.savio.io/app/api/create-feedback/ \
  -X POST \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' -d '
  {
      "problem": "You need a Zapier integration so I can wire up Google Forms.",
      "feedback_type": "ACTIVE",
      "person_email": "bob@example.com",
      "state": "ACTIVE",
      "feature_request_title": "Feedback API",
      "tags": ["red", "green"]
  }'

Feature Requests

Feature Requests can be listed and retrieved individually. The fields returned are driven by the columns you have configured on your Feature Request list.

Feature Request model

Every Feature Request always includes the following fields:

Attribute Type Description

If Product or Product Area is enabled on your account, the following fields are also always included:

Attribute Type Description

Additionally, the response includes dynamic fields based on the columns displayed on your Feature Request list. These may include:

Attribute Type Description

List Feature Requests

You can get a paged list of Feature Requests by issuing a GET to https://www.savio.io/app/api/feature-requests/.

Response

Returns a paginated list of Feature Request objects.

Attribute Type Description

HTTP Response Codes

Result Response Code

Parameters

Parameter Required Description

Note: The product and product_area filters require the respective feature to be enabled on your account. If the feature is not available on your plan, these filters are silently ignored.

Example
curl 'https://www.savio.io/app/api/feature-requests/?state=PLANNED&ordering=-updated' \
  -X GET \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Get Feature Request

You can get a single Feature Request by issuing a GET to https://www.savio.io/app/api/feature-requests/{id}/.

Response

Returns a single Feature Request object.

HTTP Response Codes

Result Response Code

Example
curl 'https://www.savio.io/app/api/feature-requests/123/' \
  -X GET \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'

Contacts

Contacts can be listed, created and updated.

Contact model

Attribute Type Description

List Contacts

You can get a paged list of Contacts by issuing a GET to https://www.savio.io/app/api/users/.

Response

Returns a paginated list of Contact Objects.

Attribute Type Description

HTTP Response Codes

Result Response Code Value

Parameters

Parameter Required Description

Example
curl 'https://www.savio.io/app/api/users/?search=example.com&ordering=-updated' \
  -X GET \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Upsert Contact

You can create or update a Contact by issuing a POST to https://www.savio.io/app/api/users/.

If a contact with that email address or internal_id already exists in Savio the contact will be updated.

Response

Returns the newly created Contact.

Attribute Type Required Description

HTTP Response Codes

Result Response Code Value

Example
curl https://www.savio.io/app/api/users/ \
  -X POST \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' -d '
  {
      "name": "New Contact",
      "email": "new.contact@example.com",
      "internal_id": "1234567",
      "company_internal_id": "6",
      "filterable_attributes": {
          "region": "na"
    }
  }'

Companies

Companies can be listed, created and updated.

Company model

Attribute Type Description

List Companies

You can get a paged list of Companies by issuing a GET to https://www.savio.io/app/api/companies/.

Response

Returns a paginated list of Company Objects.

Attribute Type Description

HTTP Response Codes

Result Response Code Value

Parameters

Parameter Required Description

Example
curl 'https://www.savio.io/app/api/companies/?search=acme&ordering=-updated' \
  -X GET \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Upsert Company

You can create or update a Company by issuing a POST to https://www.savio.io/app/api/companies/.

If a company with that internal_id already exists in Savio the Company will be updated.

Response

Returns the newly created Company.

Attribute Type Required Description

HTTP Response Codes

Result Response Code Value

Example
curl https://www.savio.io/app/api/companies/ \
  -X POST \
  -H 'Authorization:Token REPLACE_WITH_YOUR_API_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' -d '
  {
      "name": "Acme Corp",
      "internal_id": "1234567",
      "filterable_attributes": {
          "region": "na"
      }

  }'