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 My 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

create_feedback endpoint

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": "CHURNED",
    "person_email": "bob@example.com",
    "state": "ACTIVE",
    "feature_request_title": "Feedback API",
    "tags": ["red", "green"]
}'
        

Users

Users can be listed, created and updated.

User model

Attribute Type Description

List Users

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

Response

Returns a paginated list of User 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 User

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

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

Response

Returns the newly created User.

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 User",
    "email": "new.user@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 Compnaies

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/company/?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"
    }

}'