Skip to main content

App Store Connect Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to an App Store Connect location.
appstore_api.png

App Store Connect

Create an App Store Connect Destination

  1. Click the + icon on the Nexset that will be sent to the App Store Connect destination, and select the Send to Destination option from the menu.

  2. Select the App Store Connect connector from the list of available destination connectors. Then, select the credential that will be used to connect to the App Store Connect account, and click Next; or, create a new App Store Connect credential for use in this flow.

  3. In Nexla, App Store Connect destinations can be created using pre-built endpoint templates, which expedite destination setup for common App Store Connect endpoints. Each template is designed specifically for the corresponding App Store Connect endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    App Store Connect destinations can also be configured manually, allowing you to send data to App Store Connect endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common App Store Connect endpoints. Each template is designed specifically for the corresponding App Store Connect endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create an Analytics Report Request

    This endpoint creates an analytics report request — the parent record that opts an app into either a recurring (ONGOING) or single-day (ONE_TIME_SNAPSHOT) stream of analytics reports. Use it to programmatically subscribe new apps to the App Store Connect Analytics API.

    • Each record in the upstream Nexset must contain the full JSON request body expected by App Store Connect: a data envelope with type: "analyticsReportRequests", attributes.accessType set to ONGOING or ONE_TIME_SNAPSHOT, and a relationships.app.data entry that points at the target app (type: "apps", id: "<appleId>").
    • Each combination of (app, accessType) is unique — a duplicate request returns a conflict error. Use the List Analytics Report Requests for an App source endpoint upstream to filter records to apps that do not already have an active request.

    Enable the Response Webhook option (in the Configure Manually section) to capture the newly created request's ID for downstream branching. For the full payload reference, see Create an Analytics Report Request.

    Make an App Screenshot Asset Reservation

    This endpoint reserves an upload slot for an app screenshot asset and returns the URLs to which the raw image bytes should be PUT. It is the first step of App Store Connect's three-step asset upload pattern (reserve, upload, commit).

    • Each record in the upstream Nexset must contain the full JSON request body: a data envelope with type: "appScreenshots", attributes including fileSize (in bytes) and fileName (the filename Apple stores), and relationships.appScreenshotSet.data set to type: "appScreenshotSets" and the parent screenshot set's id.
    • The response contains an uploadOperations array with the URLs, headers, and byte ranges to use when uploading the file. Enable the Response Webhook option (in the Configure Manually section) to capture this response into a downstream Nexla webhook source for use by the upload step.

    Once the bytes have been uploaded to each uploadOperations URL, finalize the asset with the Commit an App Screenshot Reservation source-template endpoint, supplying the MD5 checksum of the uploaded file. For the full upload sequence, see Uploading assets to App Store Connect.

    Create App Preview

    This endpoint reserves an upload slot for an app preview (a video asset shown on the App Store listing). The reservation pattern mirrors Make an App Screenshot Asset Reservation — reserve here, PUT the bytes to the returned upload operations, then commit by patching the resource with uploaded: true.

    • Each record in the upstream Nexset must contain the JSON request body: a data envelope with type: "appPreviews", attributes including fileSize, fileName, and (optionally) previewFrameTimeCode and mimeType, and relationships.appPreviewSet.data set to the parent app preview set.
    • Enable the Response Webhook option (in the Configure Manually section) to capture the response's uploadOperations array into a downstream Nexla webhook source for the upload step.

    Create Certificate

    This endpoint creates a new signing certificate from a Certificate Signing Request (CSR). Use it to programmatically provision development, distribution, push, pass type, or Apple Pay merchant identity certificates from a CI or device-management pipeline.

    • Each record in the upstream Nexset must contain the JSON request body: a data envelope with type: "certificates", attributes.certificateType set to one of IOS_DEVELOPMENT, IOS_DISTRIBUTION, MAC_APP_DEVELOPMENT, MAC_APP_DISTRIBUTION, DEVELOPER_ID_APPLICATION, APPLE_PAY, PASS_TYPE_ID, or one of the other supported values, and attributes.csrContent set to the PEM-encoded CSR (without the -----BEGIN/END CERTIFICATE REQUEST----- markers).

    Apple returns the newly issued certificate in the response under data.attributes.certificateContent as a base64-encoded DER blob. Enable the Response Webhook option to capture the response and store the certificate downstream.

Configure Manually

App Store Connect destinations can be manually configured to send data to any valid App Store Connect API endpoint. Manual configuration provides maximum flexibility for endpoints not covered by pre-built templates — including PATCH-based updates, DELETE actions, asset commit calls, and relationship-modification endpoints.

Using manual configuration, you can also configure Nexla to automatically send the response received from the App Store Connect API after each call to a new Nexla webhook data source. This is particularly useful for capturing newly created resource IDs (such as the analytics report request ID, the screenshot's uploadOperations, or the issued certificate content) for downstream processing.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the App Store Connect API from the Method pulldown menu. Common methods for App Store Connect write endpoints include:

    • POST: For creating resources (for example, POST /v1/appStoreVersions, POST /v1/bundleIds, POST /v1/certificates, POST /v1/analyticsReportRequests)
    • PATCH: For partial updates to resources (for example, PATCH /v1/appStoreVersions/{'{id}'}, PATCH /v1/bundleIds/{'{id}'}, PATCH /v1/appScreenshots/{'{id}'})
    • DELETE: For removing resources (for example, DELETE /v1/analyticsReportRequests/{'{id}'})

Data Format

  1. Select the format in which the Nexset data will be sent to the App Store Connect API from the Content Format pulldown menu. The App Store Connect API requires application/json for all write endpoints, so JSON is the appropriate choice for every App Store Connect destination.

API Endpoint URL

  1. Enter the URL of the App Store Connect API endpoint to which you want to send the Nexset data in the URL field. All App Store Connect API URLs use the base https://api.appstoreconnect.apple.com/v1/ followed by the resource path. For PATCH or DELETE operations, include the resource ID at the end of the URL — Nexla macros can substitute the ID from each upstream record (for example, {'https://api.appstoreconnect.apple.com/v1/appStoreVersions/{id}'}).

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (for example, header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Authorization: Bearer <jwt> header is added automatically based on your App Store Connect credential, and Content-Type: application/json is added based on the selected Content Format.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this App Store Connect destination, select the attributes from the Exclude Attributes pulldown menu. This is useful for stripping internal Nexla bookkeeping fields, or for omitting upstream IDs that App Store Connect would reject as unknown attributes on the resource being created.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional

The App Store Connect API operates on one JSON:API resource per request — there is no batched-create or bulk-update endpoint at the public API surface. Record batching in Nexla is therefore best left disabled for App Store Connect destinations.

  1. To override the default and group records into a single payload anyway, check the box next to Would you like to batch your records together?.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

Response Webhook

Optional

Nexla can automatically send the response received from the App Store Connect API after each call to a new Nexla webhook data source. This is particularly important for App Store Connect destinations because most write endpoints return data that downstream steps need — for example, the newly created resource's id, the uploadOperations array from asset reservations, or the issued certificate content.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

    Enabling the response webhook is essential for chained asset uploads — the response from Make an App Screenshot Asset Reservation contains the upload URLs needed to PUT the image bytes, and the response from Create Certificate contains the issued certificate content that must be captured before the request resource is closed.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the App Store Connect API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.

  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the App Store Connect API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the App Store Connect API using the current settings.

Important

Test payloads sent to write endpoints (such as Create App Store Version, Create Certificate, or Create an Analytics Report Request) make real changes in your App Store Connect account. Some operations — for example, certificate issuance — consume a finite team quota and cannot be cleanly undone. Use a non-production team account, or carefully curate test data, before sending test requests against a production App Store Connect account.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to App Store Connect, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to App Store Connect until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.