---
title: "Update auth credentials for an App Store Connect or Google integration"
method: POST
path: "/app/{appId}/integration/{integrationInstallationId}/updateAuth"
tags: ["app"]
---

# Update auth credentials for an App Store Connect or Google integration

`POST /app/{appId}/integration/{integrationInstallationId}/updateAuth`

## Request

- Base URL: `https://api.runway.team`
- URL: `https://api.runway.team/app/{appId}/integration/{integrationInstallationId}/updateAuth`
- Auth: API key in header `X-API-Key`

Rotates auth credentials for an App Store Connect (Apple) or Google integration provider. Request body must be sent as `multipart/form-data`.



**Apple (App Store Connect)** — provide `keyId`, `issuerId`, and the `.p8` key file. `issuerId` must match the integration's current issuer ID; to connect a different App Store Connect team, add a new integration instead. The new key is checked against App Store Connect first and the request fails if App Store Connect rejects it. The provider is updated in place, so its `providerId` does not change and all installations in the org that share it automatically pick up the new credentials.



```
curl -X POST \
    -F "keyId=ABCD1234" \
    -F "issuerId=12345678-1234-1234-1234-123456789012" \
    -F "key=@AuthKey_ABCD1234.p8" \
    -H "X-API-KEY:API-KEY" \
    https://api.runway.team/v1/app/{appId}/integration/{integrationInstallationId}/updateAuth
```

**Google** — provide only the `.json` service account key file. `keyId` and `issuerId` must not be sent. The provider row is updated in place to reference the new key file; all installations sharing that provider automatically pick up the new credentials.



```
curl -X POST \
    -F "key=@service-account.json" \
    -H "X-API-KEY:API-KEY" \
    https://api.runway.team/v1/app/{appId}/integration/{integrationInstallationId}/updateAuth
```

## Path parameters

- `appId` string, required
- `integrationInstallationId` string, required

## Request body `multipart/form-data`

- object
  - `keyId` string: (Apple only) The App Store Connect API key ID. Required for Apple integrations. Must not be sent for Google integrations.
  - `issuerId` string: (Apple only) The App Store Connect issuer ID. Required for Apple integrations. Must not be sent for Google integrations.
  - `key` string, binary, required: The private key file. For Apple integrations, must be a `.p8` file. For Google integrations, must be a `.json` service account key file.

## Response `200`

Successfully updated integration auth

- IntegrationAuthUpdateEntity
  - `providerId` string, required: The identifier of the integration provider after the auth update. For Apple, this may be a new providerId if keyId or issuerId changed. For Google, this is unchanged from the existing provider.
  - `integrationType` 'apple' | 'google', required: The integration provider type whose auth was updated
  - `keyId` string: (Apple only) The App Store Connect API key ID now associated with the provider. Omitted for Google integrations.
  - `issuerId` string: (Apple only) The App Store Connect issuer ID now associated with the provider. Omitted for Google integrations.

## Other responses

- `404`: Resource not found response

---

[API](https://skmtc.dev/runway/apis/runway-rest-api.md) - [All operations](https://skmtc.dev/runway/apis/runway-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/runway/apis/runway-rest-api/revisions/081109863a9a?raw)
