{"_id":"576d42354bcd290e00428956","category":"576d42354bcd290e00428944","isReference":true,"next":{"description":"","pages":[]},"order":0,"sync_unique":"","api":{"url":"","results":{"codes":[]},"settings":"","auth":"required","params":[]},"link_url":"","slug":"chirp-api-overview","type":"basic","createdAt":"2016-02-11T17:01:52.153Z","excerpt":"Key endpoints and operations on the Chirp REST API.","hidden":false,"parentDoc":null,"title":"Chirp API Overview","user":"56bc6af27c91881900089bac","version":"576d42354bcd290e00428941","__v":1,"body":"The typical Chirp data rate in a noisy environment is around 50 bits per second. If you want to transmit larger, more complex data structures, whilst taking advantage of Chirp's frictionless, one-to-many operation, we provide a REST API that allows you to attach arbitrary JSON data structures to a chirp.\n\nThis process is handled seamlessly by the Chirp SDKs, so that the creation, association and querying of this additional data is invisible to the developer - simply pass the data object to the SDK, and it creates a `Chirp` object that is ready to be played.\n\nThe Chirp API has a number of endpoints, all under the v1 version root: `https://api.chirp.io/v1`\n\n**[POST /v1/authenticate](doc:api-authenticate)**\n\nAuthenticate using your app credentials (from [admin.chirp.io](https://admin.chirp.io)), obtaining an access token to pass to subsequent calls in an `X-Auth-Token` header.\n\n**[POST /v1/chirps](doc:api-post-chirp)**\n\nCreate a new chirp object.\n\n**[GET /v1/chirps/:identifier](doc:api-get-chirp)**\n\nQuery an existing chirp object.\n\n**[GET /v1/chirps/encode/:identifier](doc:api-encode)**\n\nEncodes the specified identifier with additional error correction characters, preparing it for playback over audio. This is useful for SDKs that are not natively capable of adding error correction, such as JavaScript and Python.\n\n**[GET /v1/chirps/decode/:longcode](doc:api-decode)**\n\nDecode an encoded identifier, returning the raw identifier. Even though the identifier is usually the first N characters of its encoded counterpart, this endpoint is able to correct input errors (eg. `parrotb000lllahcm4` will correct the missing characters to correctly return `parrotbill`).\n\n**[GET /v1/ping](doc:api-ping)**\n\nQuery the API status.","project":"56a526d4e7a1622b0024fae4","updates":[],"githubsync":"","link_external":false,"childrenPages":[]}

Chirp API Overview

Key endpoints and operations on the Chirp REST API.

The typical Chirp data rate in a noisy environment is around 50 bits per second. If you want to transmit larger, more complex data structures, whilst taking advantage of Chirp's frictionless, one-to-many operation, we provide a REST API that allows you to attach arbitrary JSON data structures to a chirp. This process is handled seamlessly by the Chirp SDKs, so that the creation, association and querying of this additional data is invisible to the developer - simply pass the data object to the SDK, and it creates a `Chirp` object that is ready to be played. The Chirp API has a number of endpoints, all under the v1 version root: `https://api.chirp.io/v1` **[POST /v1/authenticate](doc:api-authenticate)** Authenticate using your app credentials (from [admin.chirp.io](https://admin.chirp.io)), obtaining an access token to pass to subsequent calls in an `X-Auth-Token` header. **[POST /v1/chirps](doc:api-post-chirp)** Create a new chirp object. **[GET /v1/chirps/:identifier](doc:api-get-chirp)** Query an existing chirp object. **[GET /v1/chirps/encode/:identifier](doc:api-encode)** Encodes the specified identifier with additional error correction characters, preparing it for playback over audio. This is useful for SDKs that are not natively capable of adding error correction, such as JavaScript and Python. **[GET /v1/chirps/decode/:longcode](doc:api-decode)** Decode an encoded identifier, returning the raw identifier. Even though the identifier is usually the first N characters of its encoded counterpart, this endpoint is able to correct input errors (eg. `parrotb000lllahcm4` will correct the missing characters to correctly return `parrotbill`). **[GET /v1/ping](doc:api-ping)** Query the API status.