# attentive Documentation > Documentation for attentive Append .md to any documentation page URL to get its markdown version. ## Guides - [Introduction to Attentive APIs](https://docs.attentive.com/docs/introduction.md) - [Partner with Attentive](https://docs.attentive.com/docs/partner-with-attentive.md) - [Authentication](https://docs.attentive.com/docs/authentication.md) - [Create and Manage Custom Apps](https://docs.attentive.com/docs/create-and-manage-custom-apps.md) - [Distribute Your App](https://docs.attentive.com/docs/distribute-your-app.md) - [Publish Your App](https://docs.attentive.com/docs/publish-your-app.md) - [Attentive SSO Setup - SAML](https://docs.attentive.com/docs/attentive-sso-setup-saml.md) - [API Rate Limits](https://docs.attentive.com/docs/api-rate-limits.md) - [API Testing Console](https://docs.attentive.com/docs/api-testing-console.md) - [Webhooks Overview](https://docs.attentive.com/docs/overview.md) - [Webhook Authentication](https://docs.attentive.com/docs/webhook-authentication.md) - [Create and Manage Webhooks](https://docs.attentive.com/docs/create-and-manage-webhooks.md) - [Best Practices](https://docs.attentive.com/docs/best-practices.md) - [Webhook Payloads](https://docs.attentive.com/docs/webhook-payloads.md) - [About the Attentive MCP Server](https://docs.attentive.com/docs/mcp-about.md) - [Access and Permissions](https://docs.attentive.com/docs/mcp-access-and-permissions.md) - [Installation](https://docs.attentive.com/docs/mcp-installation.md) - [Working Across Companies](https://docs.attentive.com/docs/mcp-working-across-companies.md) - [Capabilities and available tools](https://docs.attentive.com/docs/mcp-capabilities.md) - [Example Prompts](https://docs.attentive.com/docs/mcp-example-prompts.md) - [Data, Privacy, and Security](https://docs.attentive.com/docs/mcp-privacy-and-security.md) - [Limitations](https://docs.attentive.com/docs/mcp-limitations.md) - [Troubleshooting](https://docs.attentive.com/docs/mcp-troubleshooting.md) - [Frequently Asked Questions](https://docs.attentive.com/docs/mcp-frequently-asked-questions.md) - [Attentive Tag SDK](https://docs.attentive.com/docs/attentive-tag-sdk.md) - [Google Tag Manager SDK](https://docs.attentive.com/docs/google-tag-manager-sdk.md) - [GTM SDK via Attentive Analytics Template](https://docs.attentive.com/docs/gtm-sdk-via-attentive-analytics-template.md) - [Mobile SDKs](https://docs.attentive.com/docs/mobile-sdks.md) - [Attentive iOS SDK](https://docs.attentive.com/docs/attentive-ios-sdk-guide.md) - [Attentive Android SDK](https://docs.attentive.com/docs/attentive-android-sdk-guide.md) - [Configuring iOS Push Credentials (APNs)](https://docs.attentive.com/docs/configuring-ios-push-credentials-apns.md) - [Configuring Android Push Credentials (FCM)](https://docs.attentive.com/docs/configuring-android-push-credentials-fcm.md) - [Updating Your Mobile SDK Version](https://docs.attentive.com/docs/updating-mobile-sdk-version.md) - [Attentive SFTP Data Feeds](https://docs.attentive.com/docs/attentive-sftp-data-feeds.md) - [Connect to Attentive SFTP](https://docs.attentive.com/docs/connect-to-attentive-sftp.md) - [Daasity SFTP](https://docs.attentive.com/docs/daasity-sftp.md) - [Event Data Field Definitions](https://docs.attentive.com/docs/event-data-field-definitions.md) - [Optimove Segments](https://docs.attentive.com/docs/optimove-segments.md) - [Subscriber Segment Upload](https://docs.attentive.com/docs/subscriber-segment-upload.md) - [Integrations](https://docs.attentive.com/docs/third-party-integrations.md) ## API Reference - [Test Authentication V2](https://docs.attentive.com/reference/test-authentication-v2.md) - [Me](https://docs.attentive.com/reference/getmev2.md): Make a call to this endpoint to test your unique token that you generate in the Attentive product. - [User Attributes](https://docs.attentive.com/reference/user-properties.md) - [Bulk User Attributes](https://docs.attentive.com/reference/postbulkuserattributes.md): This endpoint allows clients to submit multiple user attribute updates in bulk, accepting up to 256 payloads per request. Each request is validated, and a unique batch ID is returned for tracking the status of the batch. Each individual record must not exceed 1 MiB (1,048,576 bytes). Records that exceed this limit are rejected with a `413` in the job results and are not processed. Scopes Required: [attributes:all, subscriptions:all] Default Rate Limit: 100 requests per second - [Create or update a single user with attributes, subscriptions, and identifiers](https://docs.attentive.com/reference/postuserattributes.md): Creates or updates a single user record, including associated attributes, subscriptions, and identifiers. If a user with the provided identifiers already exists, their information will be updated; otherwise, a new user will be created. There is a limit of 100 of custom attributes that can be created. If intending to update an existing attribute, the name of the key must match the name of the existing attribute. If an existing attribute does not exist, a new attribute will be created with the given key as the name. Attributes with enumerated values must have a value that matches an existing enum value; new enum values will not be created. Attempting to pass custom attributes as an array or a map such as `["New York City]` or `{"favorite city": "Boston"}` will result in a 400 error. Default Rate Limit: 150 requests per second - [Segments ( Open Beta )](https://docs.attentive.com/reference/segments.md) - [Create new segment](https://docs.attentive.com/reference/createsegment.md): Creates a new empty segment with the specified name and optional description. Scopes Required: [segments:Write] Default Rate Limit: 100 requests per second - [List segments](https://docs.attentive.com/reference/listsegments.md): Lists segments with optional filtering by name, external ID, or update timestamp. Scopes Required: [segments:Read OR segments:Write] Default Rate Limit: 100 requests per second - [Get segment by external ID](https://docs.attentive.com/reference/getsegmentbyexternalid.md): Retrieves segment details by external ID. Scopes Required: [segments:Read OR segments:Write] Default Rate Limit: 100 requests per second - [Partial update segment by external ID](https://docs.attentive.com/reference/patchsegmentbyexternalid.md): Partially updates an existing segment. Only provided fields will be updated. Scopes Required: [segments:Write] Default Rate Limit: 100 requests per second - [Archive segment by external ID](https://docs.attentive.com/reference/deletesegmentbyexternalid.md): Archives (soft deletes) a segment by external ID. The segment will no longer be visible in list operations but can be restored if needed. Scopes Required: [segments:Write] Default Rate Limit: 100 requests per second - [Bulk Segment Operations ( Open Beta )](https://docs.attentive.com/reference/bulk-segment-operations.md) - [Add Bulk Segment Members](https://docs.attentive.com/reference/postbulksegmentmembers.md): Add members to a segment in bulk. This endpoint accepts 1 to 10,000 members per request. Members are identified by email, phone number, and/or client user ID. The request is validated, queued for asynchronous processing, and a unique batch job ID is returned for tracking the status. **Request Limits:** - Minimum: 1 member per request - Maximum: 10,000 members per request - Each individual record must not exceed 1 MiB (1,048,576 bytes); oversized records are rejected with a `413` in the job results and are not processed - At least one identifier (email, phone, or clientUserId) required per member **Processing:** - Jobs are processed asynchronously - Use the batch job ID to check status via `GET /v2/bulk/job/{bulkJobId}` - Results available as downloadable `.jsonl` file when completed Scopes Required: [segments:all] Default Rate Limit: 100 requests per second - [Remove Bulk Segment Members](https://docs.attentive.com/reference/deletebulksegmentmembers.md): Remove members from a segment in bulk. This endpoint accepts 1 to 10,000 members per request. Members are identified by email, phone number, and/or client user ID. The request is validated, queued for asynchronous processing, and a unique batch job ID is returned for tracking the status. **Request Limits:** - Minimum: 1 member per request - Maximum: 10,000 members per request - At least one identifier (email, phone, or clientUserId) required per member **Processing:** - Jobs are processed asynchronously - Use the batch job ID to check status via `GET /v2/bulk/job/{bulkJobId}` - Results available as downloadable `.jsonl` file when completed Scopes Required: [segments:all] Default Rate Limit: 100 requests per second - [Clear all members from a segment](https://docs.attentive.com/reference/clearsegmentmembers.md): Removes all members from a segment identified by its external ID. This operation is asynchronous — the response indicates that the clear request has been accepted for processing. Only segments created via the Public API can be cleared using this endpoint. Scopes Required: [segments:Write] Default Rate Limit: 100 requests per second - [Bulk Operations](https://docs.attentive.com/reference/bulk-operations.md) - [Retrieve the status of a bulk ingestion job](https://docs.attentive.com/reference/getbulkjobstatus.md): Checks the status of a bulk ingestion job identified by bulkJobId. This endpoint returns the current state of the job (`IN_PROGRESS`, `NEEDS_REVIEW`, `COMPLETED`, or `CANCELLED`) along with the total record count and, once the job has completed successfully, a link to download the results. If the job has completed successfully, the response includes a downloadable link to a `.jsonl` (JSON Lines) file containing a record of each request and its corresponding response. User's can audit results or process downstream outcomes of the bulk operation. You can fetch requests up to 2 weeks old. Scopes Required: No Additional scopes required. Default Rate Limit: 100 requests per second - [Test Authentication](https://docs.attentive.com/reference/test-authentication.md) - [Me](https://docs.attentive.com/reference/getme.md): Make a call to this endpoint to test your unique token that you generate in the Attentive product. - [Access Token](https://docs.attentive.com/reference/access-token.md) - [Access Token](https://docs.attentive.com/reference/createtokenviaauthorizationcode.md): Make a call to this endpoint to exchange a temporary authorization code for an access token. - [Webhooks](https://docs.attentive.com/reference/webhooks.md) - [List webhooks](https://docs.attentive.com/reference/getwebhooks.md): Make an API call to this endpoint to list existing webhooks. - [Create webhook](https://docs.attentive.com/reference/createwebhook.md): Make an API call to this endpoint to subscribe to a webhook. Events are a collection of strings of the following types: * `sms.subscribed` * `sms.sent` * `sms.message_link_click` * `email.subscribed` * `email.unsubscribed` * `email.message_link_click` * `email.opened` * `custom_attribute.set` Event types are case sensitive. All events included will be sent to the URL. - [Delete webhook](https://docs.attentive.com/reference/deletewebhook.md): Make an API call to this endpoint to remove a webhook. - [Update webhook](https://docs.attentive.com/reference/updatewebhook.md): Make an API call to this endpoint to update a webhook - [eCommerce](https://docs.attentive.com/reference/ecommerce.md) - [Product view](https://docs.attentive.com/reference/postproductviewevents.md): Make a call to this endpoint when a user views a product. - [Add to cart](https://docs.attentive.com/reference/postaddtocartevents.md): Make a call to this endpoint when a user adds a product to their shopping cart. - [Purchase](https://docs.attentive.com/reference/postpurchaseevents.md): Make a call to this endpoint when a user generates an order or purchase. - [Offers](https://docs.attentive.com/reference/offers.md) - [Add discount codes](https://docs.attentive.com/reference/createcoupons.md): Note: Once the offer(s) has been created, please reach out to an Attentive team member to enable this API feature for you Make a call to this asynchronous endpoint to create new discount codes in an existing offer.
distributionStart must be before distributionStop, in UTC ISO format (e.g., 2023-02-14T21:29:25Z).