Profiles

Create a campaign for a profile's brand

Changed on

Deprecated. This endpoint is replaced by /v3/sender-profiles and will be removed in a future release. It still behaves exactly as before, so nothing needs to change today — but new integrations should use /v3/sender-profiles, which models a profile's markets, compliance, brand, campaigns and billing explicitly.

Creates a new campaign scoped under the brand of the specified profile. Each campaign must include at least one use case with sample messages.

post/v3/profiles/{profileId}/campaigns

Request

  • Base URL
    https://api.sent.dm
  • URL
    https://api.sent.dm/v3/profiles/{profileId}/campaigns
  • Auth
    • API key in header x-api-key
    • or HTTP bearer

Path parameters

profileIdstring uuid required

Profile ID from route

Headers

Idempotency-Keystring

Unique key to ensure idempotent request processing. Must be 1-255 alphanumeric characters, hyphens, or underscores. Responses are cached for 24 hours per key per customer.

x-profile-idstring uuid

Profile UUID to scope the request to a child profile. Only organization API keys can use this header. The profile must belong to the calling organization.

Request body

sandboxboolean

Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution

Example request

{
  "campaign": {
    "name": "Customer Notifications",
    "description": "Appointment reminders and account notifications",
    "type": "App",
    "useCases": [
      {
        "messagingUseCaseUs": "ACCOUNT_NOTIFICATION",
        "sampleMessages": [
          "Hi {name}, your appointment is confirmed for {date} at {time}.",
          "Your order #{order_id} has been shipped. Track at {url}"
        ]
      }
    ],
    "messageFlow": "User signs up on website and opts in to receive SMS notifications",
    "privacyPolicyLink": "https://acmecorp.com/privacy",
    "termsAndConditionsLink": "https://acmecorp.com/terms",
    "optinMessage": "You have opted in to Acme Corp notifications. Reply STOP to opt out.",
    "optoutMessage": "You have been unsubscribed. Reply START to opt back in.",
    "helpMessage": "Reply STOP to unsubscribe or contact support@acmecorp.com",
    "optinKeywords": "YES, START, SUBSCRIBE",
    "optoutKeywords": "STOP, UNSUBSCRIBE, END",
    "helpKeywords": "HELP, INFO, SUPPORT"
  },
  "sandbox": false
}

Response

Campaign created successfully

successboolean

Indicates whether the request was successful

Changes

    • breaking

      added subschema #2: SentDmServicesEndpointsCustomerAPIv3BrandsCampaignsRequestsCreateBrandCampaignRequest_Properties to the request body allOf list

    • breaking

      added to the response property oneOf list for the response status

    • breaking

      added to the response property oneOf list for the response status

    • breaking

      added to the response property oneOf list for the response status

    • breaking

      added to the response property oneOf list for the response status

    • warning

      removed subschema #2: SentDmServicesEndpointsCustomerAPIv3RequestsCampaignsCreateBrandCampaignRequest_Properties from the request body allOf list

    • info

      the endpoint scheme security BearerAuth was added to the API

    • info

      endpoint deprecated

    • info

      added to the response property allOf list for the response status

    • info

      added to the response property allOf list for the response status

    • info

      added to the response property allOf list for the response status

    • info

      added to the response property allOf list for the response status

    • info

      added to the response property allOf list for the response status

    • info

      removed from the response property allOf list for the response status

    • info

      removed from the response property allOf list for the response status

    • info

      removed from the response property allOf list for the response status

    • info

      removed from the response property allOf list for the response status

    • info

      removed from the response property allOf list for the response status

    • info

      removed from the response property oneOf list for the response status

    • info

      removed from the response property oneOf list for the response status

    • info

      removed from the response property oneOf list for the response status

    • info

      removed from the response property oneOf list for the response status

    • info

      the response property ////////// became required for the status

    • info

      the response property ////////// became required for the status

    • info

      the response property ////////// became required for the status

    • info

      the response property ///////// became required for the status