Custom Stores

Update Custom Store

Changed on

Renames a custom store or moves when it started reporting revenue from your server (reporting_since, not in the future; it can be moved earlier or later but never cleared). reporting_since is set by the store's first production event: until then, setting it is refused with 409. Omitted fields are unchanged; an unknown field is rejected with 400. Names are unique within a project. Requires custom_stores:write scope.

patch/v2/projects/{id}/custom-stores/{custom_store_id}

Request

  • Base URL
    https://api.superwall.com
  • URL
    https://api.superwall.com/v2/projects/{id}/custom-stores/{custom_store_id}
  • Auth
    • HTTP bearer
    • or API key in cookie accounts_superwall_token
    • or HTTP bearer

Path parameters

idstring required
custom_store_idstring required

Request body

namestring
reporting_sincestring

Response

Success

idstring required
object'custom_store' required

Object type, always custom_store

project_idstring required
namestring required

Display name, unique within the project

product_countnumber required

Number of active (non-archived) products in this custom store

created_atstring required

ISO 8601 timestamp of when the custom store was created

reporting_sincestring nullable required

ISO 8601 timestamp from which this store reports its revenue from your server through the custom store events API, or null if it does not.

From this instant on, revenue charts count this store's purchases only from your server's events and drop what the SDK reported about them; before it, SDK purchase events count as well. It is set automatically when the first production event is accepted (to the time that request was received) and never changed automatically afterwards. If you send events from before it (a backfill), move it back to the start of the backfill so those purchases are not counted twice.

It cannot be set by hand before the first production event. Once set it can be moved but never cleared, and the store can no longer be deleted, so its revenue history stays intact.

Example response

{
  "reporting_since": "2026-10-01T00:00:00.000Z"
}

Changes

    • warning

      added the new credentials_missing enum value to the / response property for the response status

    • warning

      added the new credentials_missing enum value to the / response property for the response status

    • warning

      added the new credentials_missing enum value to the / response property for the response status

    • warning

      added the new credentials_missing enum value to the / response property for the response status

    • warning

      added the new credentials_missing enum value to the / response property for the response status

    • info

      added subschema #1 subschema #2 to the response body anyOf list for the response status

    • info

      added subschema #1 subschema #2 subschema #3 subschema #4 subschema #5 to the response body anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the response body anyOf list for the response status

    • info

      removed subschema #1 subschema #2 subschema #3 subschema #4 subschema #5 from the response body anyOf list for the response status

    • breaking

      the response's body type changed from object to no type for status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • info

      added subschema #1 subschema #2 to the response body anyOf list for the response status