Pike13 For Developers
Get Started
Authentication
Core API
Reporting API
Webhooks API
Announcements

Announcements

May 28, 2020

Contents

  • New Webhooks Topics available
  • Webhooks will automatically be removed if the user is downgraded or business no longer has webhooks feature enabled.

EventOccurrence upcoming, Person deleted / undeleted, Plan ended

Pike13 has added new Webhooks topics. Build integrations for when an event occurrence is upcoming, a person has been deleted / undeleted, or when a plan has ended!

See our Webhooks API docs to learn more.

Automated webhook removals

Pike13 has updated the behavior around webhook removals. Webhooks created by a user will automatically be removed if that user is no longer an owner or is removed from the business. In addition, disabling the webhooks feature for a business will delete its webhooks and prevent further webhook notifications from being sent.

Sep 13, 2019

Contents

  • New Webhooks Topics available

Visits, Punchcards, Plans, PersonPlans

Pike13 has added new Webhooks topics. Build integrations for when a new visit is created, a punchcard is used, or a person becomes associated with a plan!

See our Webhooks API docs to learn more.

July 24, 2019

Contents

  • Webhooks Beta available

Webhooks Beta available

Pike13 has added a new Webhooks API available to developers with an owner account. Instead of polling the core Pike13 API, developers can now get real-time notifications structured similarily to the core api responses. When there's an event, we notify subscribers. For example, get notified whenever a person is created in your business or gets updated.

See our Webhooks API docs to learn more.

November 29, 2018

Contents

  • New APIs available

New APIs available

Pike13 has made a number of new APIs available to developers, including the Form of Payment API, Invoice API, and Payment Configuration.

Form of Payment API

Provides access to information about a client's available forms of payment, including viewing a client's credit card or ACH account information, or storing new credit card in the payment gateway.

Invoice API

Provides access to information about invoices, which consist of an order's details.

Payment Configuration API

Provides access to information about the business's available forms of payment.

See our developer docs to learn more.

January 26, 2018

Contents

  • TLSv1.1 will no longer be supported after January 31st, 2018

TLSv1.1 is going away

In order to ensure we maintain PCI compliance, pike13.com will stop supporting TLSv1.1 on February 1st, 2018. TLS is a protocol used to secure the communication between your browser and Pike13. TLSv1.1 has been replaced by newer more secure versions. All new browsers support the newer versions of TLS.

TLS also secures the communication between your apps and Pike13. If you have used our API to write your own custom integrations then you may need to update your integration to ensure that it supports the newer versions of TLS. This probably means that you will need to update your SSL libraries, for example OpenSSL v1.0.1 or later supports the latest versions of TLS.

May 19, 2017 (Updated)

Contents

  • Change your apps to use pike13.com
  • TLSv1.0 will no longer be supported after June 14th, 2017
  • Custom Fields in the Front Person API and Account People API is being fixed June 14th, 2017 (Updated)

API endpoints available on pike13.com

On June 1st, 2017, our name is changing to Pike13.

To help make the transition easier, all APIs will continue to work using frontdeskhq.com for the remainder of the year. We will be turning off frontdeskhq.com at the end of the year so please plan for a migration of your API usage to pike13.com.

TLSv1.0 is going away

In order to ensure we maintain PCI compliance, frontdeskhq.com will stop supporting TLSv1.0 on June 14, 2017. TLS is a protocol used to secure the communication between your browser and Pike13. TLSv1.0 has been replaced by newer more secure versions. All new browsers support the newer versions of TLS.

TLS also secures the communication between your apps and Pike13. If you have used our API to write your own custom integrations then you may need to update your integration to ensure that it supports the newer versions of TLS. This probably means that you will need to update your SSL libraries, for example OpenSSL v1.0.1 or later supports the latest versions of TLS.

Note: pike13.com will not support TLSv1.0. To test that your application supports TLSv1.1 or higher you can test that your application works against pike13.com.

Custom Fields being updated in Front people/:id, Front people/me, and account/people

On June 14, 2017, we’re removing duplicate custom fields entries and adding an entry to make the APIs resemble the Desk versions. Update: On October 1st, 2017 we'll remove person_custom_fields.

Which APIs?

Custom Fields in the Front Person API
  • Front GET /api/v2/front/people/:id
  • Front GET /api/v2/front/people/me
Custom Fields in the Account People API
  • GET /api/v2/account/people

What do I need to do?

Check your application to see if you’re using one of the APIs listed above. If so, check to see if you’re using the person_custom_fields attribute. If not, then you do need to do anything and can ignore this notice.

If you are using the custom_fields, keep reading.

person_custom_fields is an array of custom_fields. It currently contains numerous duplicate custom_fields. We'll be removing the duplicates on June 14th 2017 while leaving the first element in the array. We're also adding in custom_fields. On October 1st, 2017 we'll remove the person_custom_fields. Before then, you'll need to change to just use custom_fields before then.

Phew, I'm getting confused just writing this. Hopefully the example below will make this very clear.

Why is it changing?

We value backwards compatibility of our API, so we try to change it as little as possible. In this case we found a bug in the Front Person API that was sending over way too many custom fields entries. If a person had 10 custom fields, we’d include all 10 custom fields, 10 times. For a total of 100 custom fields. Additionally, the format of the JSON was different between the Front and Desk endpoints. In Front, they were person_custom_fields, in Desk, they were custom_fields.

Example of the API as it works prior to June 14th 2017

Notice how we've erroneously included the custom_fields 3 extra times under person_custom_fields. To facilitate the switch we've added the custom_fields at the same level as person_custom_fields which mimics the Desk version of this API. You should be using custom_fields instead of person_custom_fields[0].custom_fields

REQUEST
$ curl https://pike13.com/api/v2/account/people \
  -H "Authorization: Bearer XXXXXXXXXXXXXXX"

RESPONSE
{
  "people": [
    {
      "id": 1000,
      "custom_fields": [
        { "id": 100, "value": "ABC", "name": "Custom Field 100" },
        { "id": 101, "value": "DEF", "name": "Custom Field 101" },
        { "id": 102, "value": "GHI", "name": "Custom Field 102" },
        { "id": 103, "value": "JKL", "name": "Custom Field 103" }
      ]
      "name": "Jane Superfit",
      "email": "jane.superfit@pike13.com",
      "person_custom_fields": [
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        },
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        },
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        },
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        }
      ]
    }
  ]
}

Example of the API as it will work on June 14th 2017

The extra custom_fields entries in person_custom_fields are gone. There's now just one entry.

REQUEST
$ curl https://pike13.com/api/v2/account/people \
  -H "Authorization: Bearer XXXXXXXXXXXXXXX"

RESPONSE
{
  "people": [
    {
      "id": 1000,
      "custom_fields": [
        { "id": 100, "value": "ABC", "name": "Custom Field 100" },
        { "id": 101, "value": "DEF", "name": "Custom Field 101" },
        { "id": 102, "value": "GHI", "name": "Custom Field 102" },
        { "id": 103, "value": "JKL", "name": "Custom Field 103" }
      ]
      "name": "Jane Superfit",
      "email": "jane.superfit@pike13.com",
      "person_custom_fields": [
        {
          "custom_fields": [
            { "id": 100, "value": "ABC", "name": "Custom Field 100" },
            { "id": 101, "value": "DEF", "name": "Custom Field 101" },
            { "id": 102, "value": "GHI", "name": "Custom Field 102" },
            { "id": 103, "value": "JKL", "name": "Custom Field 103" }
          ]
        }
      ]
    }
  ]
}

Example of the API as it works on October 1st 2017

The extra person_custom_fields are gone.

REQUEST
$ curl https://pike13.com/api/v2/account/people \
  -H "Authorization: Bearer XXXXXXXXXXXXXXX"

RESPONSE
{
  "people": [
    {
      "id": 1000,
      "name": "Jane Superfit",
      "email": "jane.superfit@pike13.com",
      "custom_fields": [
        { "id": 100, "value": "ABC", "name": "Custom Field 100" },
        { "id": 101, "value": "DEF", "name": "Custom Field 101" },
        { "id": 102, "value": "GHI", "name": "Custom Field 102" },
        { "id": 103, "value": "JKL", "name": "Custom Field 103" }
      ]
    }
  ]
}