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.

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"]
  }'

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"
      }

  }'