By default, the Smokeball API will generate a unique id for every resource created. However, we also provide mechanisms for creating deterministic IDs for certain resources. These mechanisms are only available to permitted API partners. Permission from Smokeball is required to create deterministic resource IDs. Any attempts to create such IDs without explicit permission will be denied.

Deterministic Resource Ids

Supported Resources

Currently, the following resources support deterministic ID creation via POST requests:

  • Matters
  • Contacts
  • Fees
  • Expenses
  • Activities

Requests

To create a resource with a custom ResourceId, you need to include the following HTTP headers when submitting a POST request:

  • ResourceId: This header should contain the unique identifier for the resource being created. The API partner provides this identifier, and it will be validated against the ResourceId generated using the value of ExternalId described below.

  • ExternalId: This header should contain the unique identifier used to deterministically create the ResourceId. The API partner provides this identifier, which is used in generating the ResourceId.

The mechanism used to generate the ResourceId is shared only with permitted API partners. The resource will not be created unless the id generated by the unique ExternalId matches the supplied ResourceId.