# Pushologies API Documentation > Documentation for Pushologies API ## Guides - [Getting your API key](https://docs.pushologies.com/docs/getting-your-api-key.md) - [Authenticating against our API](https://docs.pushologies.com/docs/authenticating-against-our-api.md) - [User Management](https://docs.pushologies.com/docs/user-management.md) - [Verifying And Testing Your SDK Integration](https://docs.pushologies.com/docs/verifying-and-testing-your-sdk-integration.md) - [Getting started](https://docs.pushologies.com/docs/index.md) - [Creating subscriber segments](https://docs.pushologies.com/docs/creating-segments.md) - [Uploading content for notifications](https://docs.pushologies.com/docs/uploading-content.md) - [Segment Rules](https://docs.pushologies.com/docs/segment-rules.md) - [Notifications](https://docs.pushologies.com/docs/notifications.md) - [Standard Notification](https://docs.pushologies.com/docs/standard.md) - [Video Notification](https://docs.pushologies.com/docs/video.md) - [Carousel Notification](https://docs.pushologies.com/docs/carousel.md) - [Personalisation](https://docs.pushologies.com/docs/personalisation.md) - [Simple Push Notifications](https://docs.pushologies.com/docs/simple-notification-push.md) - [GeoFunctionality](https://docs.pushologies.com/docs/geofunctionality.md) - [Changelog](https://docs.pushologies.com/docs/changelog-1.md) - [Getting started](https://docs.pushologies.com/docs/getting-started.md) - [React Native integration](https://docs.pushologies.com/docs/react-native-integration.md): Find the npm package [here](https://www.npmjs.com/package/pushologies-notifications) - [Android - Upload Firebase certificate](https://docs.pushologies.com/docs/android-upload-firebase-certificate.md) - [Apple - Developer Portal Configuration](https://docs.pushologies.com/docs/apple-developer-portal-configuration.md) - [Pushologies Portal Configuration](https://docs.pushologies.com/docs/pushologies-portal-configuration.md) - [SDK Integration](https://docs.pushologies.com/docs/sdk-integration.md): Find the latest npm package [here](https://www.npmjs.com/package/pushologies-notifications) - [Changelog](https://docs.pushologies.com/docs/changelog-2.md) - [PushSDK iOS Integration](https://docs.pushologies.com/docs/pushsdk-ios-integration.md): Integration Guide - [Step 1: Apple Developer Portal Setup](https://docs.pushologies.com/docs/apple-developer-portal-setup.md) - [Step 2: Pushologies Portal Setup](https://docs.pushologies.com/docs/pushologies-portal-setup.md) - [Step 3 SDK Integration](https://docs.pushologies.com/docs/sdk-integration-1.md) - [Step 3.1: Xcode Project Setup](https://docs.pushologies.com/docs/xcode-project-setup.md) - [Step 3.2: Notification Extensions](https://docs.pushologies.com/docs/installing-push-sdk.md) - [Step 3.3: SDK Setup](https://docs.pushologies.com/docs/sdk-methods.md) - [Step 3.4: Optional SDK methods](https://docs.pushologies.com/docs/dd.md) - [Troubleshooting Guide](https://docs.pushologies.com/docs/troubleshooting-guide.md) - [iOS SDK Changelog](https://docs.pushologies.com/docs/ios-sdk-changelog.md) - [PushSDK Android Integration](https://docs.pushologies.com/docs/pushsdk-android-integration.md) - [Step 1: Firebase Project Setup](https://docs.pushologies.com/docs/generate-and-upload-your-certificate-android-copy-1.md) - [Step 2: Pushologies Portal Setup](https://docs.pushologies.com/docs/step-2-pushologies-portal-setup-copy.md) - [Step 3: Pushologies Android SDK Integration](https://docs.pushologies.com/docs/pushologies-android-sdk-integration-copy.md) - [Troubleshooting Guide](https://docs.pushologies.com/docs/troubleshooting-guide-1.md) - [Android SDK Changelog](https://docs.pushologies.com/docs/android-sdk-changelog.md) - [What data is captured by the SDK?](https://docs.pushologies.com/docs/what-data-is-captured-by-the-sdk.md) - [Information Security Certification](https://docs.pushologies.com/docs/information-security-certification.md) - [Information Security Policy](https://docs.pushologies.com/docs/information-security-policy.md) - [Data Protection](https://docs.pushologies.com/docs/data-protection.md) - [Data Protection Policy](https://docs.pushologies.com/docs/data-protection-policy.md) - [AWS Technology Partner](https://docs.pushologies.com/docs/aws-technology-partner.md) - [Data Retention](https://docs.pushologies.com/docs/data-retention.md) ## API Reference - [Get analytics about your users](https://docs.pushologies.com/reference/get_users-analytics.md): Returns key pieces of information about your system users and their high-level behaviour - [Get a list of measurements](https://docs.pushologies.com/reference/get_measurements.md): Retrieves a list of measurements. Note - if from/to query parameters are provided offset/limit will not take effect - [Get notification analytics](https://docs.pushologies.com/reference/get_notifications-analytics.md): Retrieves a set of notification analytics. - [Create a new tenant Api Key](https://docs.pushologies.com/reference/post_api-key.md): Generates an api key which can be used by the pushologies sdk or admin api. Returns secret in the api key body - [Delete an existing tenant API Key](https://docs.pushologies.com/reference/delete_api-key.md): Deletes an existing API Key. Deletion of API Key of type = ADMIN_API will also delete it's associated User. - [Get a list of API keys](https://docs.pushologies.com/reference/get_api-keys.md): Retrieves a list of API keys. - [Get audit logs](https://docs.pushologies.com/reference/get_audit-logs.md): Get paginated logs of actions carried out (or attempted) by your users. - [Get S3 file upload POST data while creating a new Content Item](https://docs.pushologies.com/reference/post_content-item-get-upload-data.md): Generates a unique S3 file upload POST data object and creates a new Content Item record. Once uploaded, images may be optimised to reduce their file size or by scaling their resolution to below 1280px in either dimension. Invalid items may be deleted without warming. - [Create a new external Content Item](https://docs.pushologies.com/reference/post_content-item-external.md): Creates a new Content Item record that refers to content stored externally (ie. your server(s)) - [Get a content item by id](https://docs.pushologies.com/reference/get_content-item.md): Retrieves a content item with a download url with "includeUrl" query param set to true - [Updates existing Content Item with partial update data](https://docs.pushologies.com/reference/patch_content-item.md): Make partial updates on already existing Content Item (such like modifying "presentation" modes etc.) - [Get a list of content items](https://docs.pushologies.com/reference/get_content-items.md): Retrieves a list of content items. - [Delete one or more ContentItems](https://docs.pushologies.com/reference/delete_content-items.md): Deletes ContentItems for the IDs provided. Only those ContentItems that are not associated to any Notification will be deleted. - [Get a content item thumbnail image by id](https://docs.pushologies.com/reference/get_content-item-thumbnail.md): Retrieves a content item thumbnail PNG image as a response - [Upload tenant credentials for iOS and Android notifications](https://docs.pushologies.com/reference/post_credentials.md): Upload firebase service account file, together with apn auth key file, bundle id and team id. You can upload only one of firebase or apns credentials. If you upload apns credentials, all three (auth key file, bundle id and team id) must be present otherwise request will fail - [Get saved Apns and Firebase Credentials](https://docs.pushologies.com/reference/get_credentials.md): Retrieves Apns and Firebase client Credentials - [Get a list of geofences](https://docs.pushologies.com/reference/get_geofences.md): Retrieves a list of geofences - [Get notification](https://docs.pushologies.com/reference/get_notification.md): Retrieves a single notification. - [Upsert a Notification](https://docs.pushologies.com/reference/post_notification.md): Create or update existing draft Notification. In request body both "title" and "message" are required - [Delete a notification](https://docs.pushologies.com/reference/delete_notification.md): If notification has already been pushed, record will be soft deleted, otherwise it will be hard deleted. Will throw a 403 Forbidden error if the notification is still in progress. The criteria for in progress is if the notification is a instant or normal scheduled push then error will be thrown if push took place less than an hour ago. If it is a scheduled timezone notification it will throw error if any of the timezone specific pushes took place in last hour - [Initiate Notification push](https://docs.pushologies.com/reference/post_notification-push.md): Create or update existing Notification and initiates push. If pushing existing notification, all thats needed in the request body is "id". If "id" is omitted, "title", "message", "type" and "contents" (if applicable) are required - [Cancel Notification push](https://docs.pushologies.com/reference/put_notification-push-cancel.md): Will attempt to abort an ongoing notification. Will set the "cancelledAt" column to current timestamp - [Get notification push results grouped by each device type](https://docs.pushologies.com/reference/get_notification-results.md): Retrieves a list of NotificationResults objects. - [Get a list of notifications](https://docs.pushologies.com/reference/get_notifications.md): Retrieves a list of notifications. - [Push a notification](https://docs.pushologies.com/reference/post_push.md): Sends the push notification specified in the request body to the recipients. - [Get Personalisation Schema](https://docs.pushologies.com/reference/get_personalisation-schema.md): Get a list of all allowable Personalisation Variables and their default values. - [Upsert a Personalisation Variable](https://docs.pushologies.com/reference/post_personalisation-schema.md): Create or update existing Personalisation Variable. Variables must be defined in order to be used in your notifications. - [Delete a Personalisation Variable](https://docs.pushologies.com/reference/delete_personalisation-schema.md): Delete an existing Personalisation Variable. Deleting a variable pevents it being used in future notifications and tells each instance of the SDK to remove the personalised value it has stored locally on any devices. - [Get segment](https://docs.pushologies.com/reference/get_segment.md): Retrieves a single segment by ID. - [Create a new segment](https://docs.pushologies.com/reference/post_segment.md): Create a segment to which subscribers can be associated. - [Delete a segment](https://docs.pushologies.com/reference/delete_segment.md): Delete a segment and its bucket(s). Segment is only deleted if either the segment has no notifications associated with it, the last associated notification was pushed more than 10 minutes ago, or all the scheduled pushes have all been pushed if scheduled notification. - [Update an already existing Segment](https://docs.pushologies.com/reference/put_segment.md): Updates an already existing segment associated with tenant or parent tenant, given that the user has the necessary permissions - [Preview segment rules or bucket](https://docs.pushologies.com/reference/post_segment-preview.md): Returns the total number of subscribers which match the given segment rules if `rules` provided in body. If instead `segmentBucketId` is provided, will get the count of the existing segment bucket. Do not provide both at same time - [Create a new segment with a CSV file of customerIds.](https://docs.pushologies.com/reference/post_segment-csv.md): Receive a presigned URL to which you can upload a CSV file of customerIds to create a new segment. The CSV file should be single column, unquoted, and contain only customerIds. The segment will be created with the name and description provided in the request body. The processingId returned can be used to check the status of the import. The processingId is NOT the segmentId. - [Check the status of a segment CSV import.](https://docs.pushologies.com/reference/get_segment-csv-status.md): Check the status of a segment CSV import by providing the ID of the CSV import. - [Get a list of subscriber segments](https://docs.pushologies.com/reference/get_segments.md): Retrieves a list of subscriber segments. - [Get subscriber](https://docs.pushologies.com/reference/get_subscriber.md): Retrieves a single subscriber. - [Get a list of subscribers](https://docs.pushologies.com/reference/get_subscribers.md): Retrieves a list of subscribers. - [Get subscriber events reported by the SDK](https://docs.pushologies.com/reference/get_subscriber-events.md): Retrieves a list of subscriber events ordered by their creation time in descending order. - [Get subscriber notification events reported by the SDK](https://docs.pushologies.com/reference/get_subscriber-notification-events.md): Retrieves list of subscriber notification events ordered by their creation time in descending order. - [Associate a Tag with a subscriber](https://docs.pushologies.com/reference/post_subscriber-tag.md): Upserts a Tag by it's name and associates it with the subscriber. Either a subscriberId or customerId is required, but not both at same time. A single tagName or an array of tagNames can be provided. - [Disassociate a Tag from subscriber](https://docs.pushologies.com/reference/delete_subscriber-tag.md): Remove a tag for subscriber or multiple tags if customerId matching multiple subscribers is provided. - [Get a list of unique Tags associated with Subscribers](https://docs.pushologies.com/reference/get_tags.md): Retrieves a list of Tags. - [Get tenant information](https://docs.pushologies.com/reference/get_tenant.md): Returns key pieces of information about your tenant - [Get a list of linked child Tenants](https://docs.pushologies.com/reference/get_tenants.md): Retrieves a list of linked child Tenants. - [Start/extend a session on a linked tenant](https://docs.pushologies.com/reference/post_tenants-session.md): Generates a short-lived api key which can be used to access data related to a linked tenant via the admin api. Returns secret in the api key body - [Delegates endpoint call to be invoked on the list of provided child Tenants](https://docs.pushologies.com/reference/post_proxy-call.md): Allows you to perform multiple RESTful calls at once on behalf of your child Tenants' while still using your own credentials. Your currently signed-in TenantUser's permissions will be used in the proxied calls. Hence if your permissions are insufficient to make the same call on your main Tenant account, trying to make the same call on behalf of your child Tenant(s) will result in a 403 HTTP response code. - [Create a User](https://docs.pushologies.com/reference/post_user.md): Creates a new User that is associated to your account. - [Updates existing User](https://docs.pushologies.com/reference/patch_user.md): Make partial updates on already existing User - [Delete an existing User](https://docs.pushologies.com/reference/delete_user.md): Deletes an existing User. Deletion of User that has associated API Key with it will also delete their API Key. - [Resend user invite e-mail](https://docs.pushologies.com/reference/get_resend-invite-email.md): Trigger the sending of a new user invite email (invalidating any existing invites). The user must have a status of "WAITING", "INVITED" or "EXPIRED" in order to be eligible for a new invite. - [Reinstate a suspended User](https://docs.pushologies.com/reference/patch_user-reinstate.md): Reinstates an existing User that has been supsended. Reinstating a User that has associated API Key with will also re-activate their API Key. - [Redact user data](https://docs.pushologies.com/reference/patch_user-redact.md): Redacts all identifying data from a suspended User to comply with data protection regulations. Once redacted, the user cannot be re-instated and will simply be referred to throughout the system using the unique ID. - [Get a list of all users](https://docs.pushologies.com/reference/get_users.md): Retrieves a list of registered users. This list will be comprised of either users who registered via the portal or references to ADMIN_API api keys