---
title: "Create notification profile"
method: POST
path: "/subscriptions/1/profiles"
tags: ["platform", "subscriptions-api", "profile"]
---

# Create notification profile

`POST /subscriptions/1/profiles`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/subscriptions/1/profiles`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

This method will create a new notification profile. You can provide an ID of existing security settings if you wish to reuse them or submit full definition, if you want to create a new one.

## Request body

- 6e71a232d29cf86cbe8cd24bd719c2050de4613347854f985c920dd3d0d3e33fProfileRequest: Notification profile object holding the settings for your webhook URL and a reference to security settings. You can provide full definition of a notification profile and security settings if you want to create new items, or provide an ID of an existing profile to reuse it. If you want to reuse an existing profile, do not provide any other notification profile and security settings properties.
  - `profileId` string, required: ID of a notification profile. This identifier will be used as part of a URL path and must not include any characters that require URL encoding. You cannot change the ID once an item is created.
  - `webhook` 6e71a232d29cf86cbe8cd24bd719c2050de4613347854f985c920dd3d0d3e33fWebhook: Webhook configuration.
    - `contentType` string
    - `notifyUrl` string, required: Your webhook URL, where the notifications will be sent to.
  - `security` 6e71a232d29cf86cbe8cd24bd719c2050de4613347854f985c920dd3d0d3e33fSecurityRequest: Security settings object holding the authentication settings necessary to access your webhook. Should only be provided if you are creating a new profile and settings; otherwise it will be ignored.
    - `authId` string, required: Unique security setting ID. Used as part of a URL path and must not include any characters that require URL encoding. You cannot change the ID once an item is created.
    - `type` 'BASIC' | 'HMAC' | 'OAUTH': Credentials type.
    - `credentials` union: Webhook security credentials.
      - object: Basic credentials.
        - `username` string, required: Username.
        - `password` string, required: Password.
      - object: HMAC credentials.
        - `secretKey` string, required: Secret key.
        - `algorithm` 'HMAC_MD5' | 'HMAC_SHA_1' | 'HMAC_SHA_224' | 'HMAC_SHA_256' | 'HMAC_SHA_384' | 'HMAC_SHA_512', required: HMAC algorithm.
      - object: OAuth credentials.
        - `tokenUrl` string, required: Token URL.
        - `clientId` string: Client ID.
        - `clientSecret` string: Client secret.
        - `grantType` string, required: Grant type.
        - `scope` string: Scope.
        - `username` string: Username.
        - `password` string: Password.
        - `resource` string: Resource.
        - `refreshToken` string: Refresh token.
        - `headers` object: Set of key:value pairs that will be sent in a HTTP request as headers.
  - `clientCertificateId` string: Client certificate ID.
  - `maxBucketSize` integer: Specifies a maximum number of messages to be sent within a single request.
  - `windowSize` integer: A maximum number of concurrent connections (active requests) per client.
  - `connectTimeout` integer: Time in milliseconds sender system waits for connection acknowledgement until the connection is closed.
  - `readTimeout` integer: A maximum period of inactivity in milliseconds between two consecutive data packets.
  - `enabledSSLProtocols` string[]: Specifies which security protocols should be used to send a HTTP request. Multiple options can be used.
  - `headers` object: Set of key:value pairs that will be sent in a HTTP request as headers.Note: 'Authorization' header (if configured here for any reason) can be overridden with one from security config.
  - `responseRegex` string: Response regex.
  - `responseBodyRegex` string: Response body regex.
  - `rateLimit` integer: Limits the number of requests per second.

## Response `201`

Created.

- 6e71a232d29cf86cbe8cd24bd719c2050de4613347854f985c920dd3d0d3e33fIdOnlyProfileResponse: Notification profile.
  - `profileId` string: Unique profile ID.
  - `security` 6e71a232d29cf86cbe8cd24bd719c2050de4613347854f985c920dd3d0d3e33fIdOnlySecurityResponse: Security configuration.
    - `authId` string: Unique authorization ID.

## Other responses

- `400`: Bad request.
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found.
- `429`: Too many requests.
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
