Example Request
string
required
Client authentication key issued by Smokeball.Used to identify the application making the request.
Example:
Y2xpZW50X2lkOmNsaWVstring
required
Bearer token for user authentication.Must be prefixed with
Bearer.Example: Bearer eyJraWQiOiJseVpBaHdjSW5UdVl6U...Paged Responses
You will notice that some requests will have the optional parameterslimit and offset. These are used to control how many results are returned in a request that returns a list of results.
In the response above, you can see the details of the paging properties in the first section of the response:
By default, the limit will be set to a maximum of 500 results.
Server-to-Server requests
The details below apply only if your Client Credentials Grant allows access to multiple accountsIt does not apply for Private Apps created via the Developer Console, which are restricted to a single account.If your app was created from the Developer Console, you can ignore this section.
accountId in this format:
https://api.smokeball.com/{accountId}/{resource-path}For example, using the contacts resource, a typical URL would be:
https://api.smokeball.com/contacts/
But for a server-to-server request specifying the
accountId: ea4ca7b9-b826-4840-a8k5-94e6c6937c65, the URL becomes:
Note: All links in the response will include the accountId prefix:
Acting on behalf of a user
Because server-to-server requests are not performed using a user token there is nouserId associated with each request. A userId is necessary for permission checking or ensuring that the UI reflects the change done by the specified user.
To act on behalf of a certain user simply supply the UserId header with your requests. The value must be that of a User in the firm.
Tracking your requests
Since all POST/PUT requests are handled asynchronously by the Smokeball API, it is useful to be able to track the changes especially when using Webhooks. This is acheived by supplying theRequestId header with your requests.
If the RequestId header is supplied, it will be returned as a response header for every request you make. It will also be included in all webhook callbacks so you can track what data was impacted by your request.