openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppStoreReviewAttachments API version: 4.3.1 x-platforms: app_store_connect_api: App Store Connect API description: The App Store Connect API is the standards-based REST API Apple provides to automate tasks across App Store Connect, Xcode, and Certificates, Identifiers & Profiles. It covers apps, builds, TestFlight, in-app purchases, subscriptions, Game Center, Xcode Cloud, provisioning, pricing and availability, and the full reporting surface (analytics, sales and trends, financial reports, power and performance). This spec is the official OpenAPI 3.0 document published by Apple at https://developer.apple.com/app-store-connect/api/ — mirrored here unmodified except for title-cased operation summaries. servers: - url: https://api.appstoreconnect.apple.com/ security: - itc-bearer-token: [] tags: - name: AppStoreReviewAttachments paths: /v1/appStoreReviewAttachments: post: tags: - AppStoreReviewAttachments operationId: appStoreReviewAttachments_createInstance requestBody: description: AppStoreReviewAttachment representation content: application/json: schema: $ref: '#/components/schemas/AppStoreReviewAttachmentCreateRequest' required: true responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '201': description: Single AppStoreReviewAttachment content: application/json: schema: $ref: '#/components/schemas/AppStoreReviewAttachmentResponse' '409': description: Request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Create App Store Review Attachments /v1/appStoreReviewAttachments/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppStoreReviewAttachments operationId: appStoreReviewAttachments_getInstance parameters: - name: fields[appStoreReviewAttachments] in: query description: the fields to include for returned resources of type appStoreReviewAttachments schema: type: array items: type: string enum: - fileSize - fileName - sourceFileChecksum - uploadOperations - assetDeliveryState - appStoreReviewDetail style: form explode: false required: false - name: fields[appStoreReviewDetails] in: query description: the fields to include for returned resources of type appStoreReviewDetails schema: type: array items: type: string enum: - contactFirstName - contactLastName - contactPhone - contactEmail - demoAccountName - demoAccountPassword - demoAccountRequired - notes - appStoreVersion - appStoreReviewAttachments style: form explode: false required: false - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - appStoreReviewDetail style: form explode: false required: false responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: Single AppStoreReviewAttachment content: application/json: schema: $ref: '#/components/schemas/AppStoreReviewAttachmentResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Store Review Attachments patch: tags: - AppStoreReviewAttachments operationId: appStoreReviewAttachments_updateInstance requestBody: description: AppStoreReviewAttachment representation content: application/json: schema: $ref: '#/components/schemas/AppStoreReviewAttachmentUpdateRequest' required: true responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: Single AppStoreReviewAttachment content: application/json: schema: $ref: '#/components/schemas/AppStoreReviewAttachmentResponse' '409': description: Request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Update App Store Review Attachments delete: tags: - AppStoreReviewAttachments operationId: appStoreReviewAttachments_deleteInstance responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '204': description: Success (no content) '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Delete App Store Review Attachments components: schemas: AppStoreReviewAttachmentResponse: type: object title: AppStoreReviewAttachmentResponse properties: data: $ref: '#/components/schemas/AppStoreReviewAttachment' included: type: array items: $ref: '#/components/schemas/AppStoreReviewDetail' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self AppStoreReviewDetail: type: object title: AppStoreReviewDetail properties: type: type: string enum: - appStoreReviewDetails id: type: string attributes: type: object properties: contactFirstName: type: string contactLastName: type: string contactPhone: type: string contactEmail: type: string demoAccountName: type: string demoAccountPassword: type: string demoAccountRequired: type: boolean notes: type: string relationships: type: object properties: appStoreVersion: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersions id: type: string required: - id - type appStoreReviewAttachments: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appStoreReviewAttachments id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppStoreReviewAttachment: type: object title: AppStoreReviewAttachment properties: type: type: string enum: - appStoreReviewAttachments id: type: string attributes: type: object properties: fileSize: type: integer fileName: type: string sourceFileChecksum: type: string uploadOperations: type: array items: $ref: '#/components/schemas/UploadOperation' assetDeliveryState: $ref: '#/components/schemas/AppMediaAssetState' relationships: type: object properties: appStoreReviewDetail: type: object properties: data: type: object properties: type: type: string enum: - appStoreReviewDetails id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference ResourceLinks: type: object properties: self: type: string format: uri-reference UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' AppStoreReviewAttachmentCreateRequest: type: object title: AppStoreReviewAttachmentCreateRequest properties: data: type: object properties: type: type: string enum: - appStoreReviewAttachments attributes: type: object properties: fileSize: type: integer fileName: type: string required: - fileName - fileSize relationships: type: object properties: appStoreReviewDetail: type: object properties: data: type: object properties: type: type: string enum: - appStoreReviewDetails id: type: string required: - id - type required: - data required: - appStoreReviewDetail required: - relationships - attributes - type required: - data ErrorLinks: type: object properties: about: type: string format: uri-reference associated: oneOf: - type: string format: uri-reference - type: object properties: href: type: string format: uri-reference meta: type: object properties: source: type: string ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging AppStoreReviewAttachmentUpdateRequest: type: object title: AppStoreReviewAttachmentUpdateRequest properties: data: type: object properties: type: type: string enum: - appStoreReviewAttachments id: type: string attributes: type: object properties: sourceFileChecksum: type: string nullable: true uploaded: type: boolean nullable: true required: - id - type required: - data ErrorResponse: type: object properties: errors: type: array items: type: object properties: id: type: string status: type: string code: type: string title: type: string detail: type: string source: oneOf: - $ref: '#/components/schemas/ErrorSourcePointer' - $ref: '#/components/schemas/ErrorSourceParameter' links: $ref: '#/components/schemas/ErrorLinks' meta: type: object additionalProperties: {} required: - code - detail - status - title AppMediaStateError: type: object properties: code: type: string description: type: string ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer AppMediaAssetState: type: object properties: errors: type: array items: $ref: '#/components/schemas/AppMediaStateError' warnings: type: array items: $ref: '#/components/schemas/AppMediaStateError' state: type: string enum: - AWAITING_UPLOAD - UPLOAD_COMPLETE - COMPLETE - FAILED HttpHeader: type: object properties: name: type: string value: type: string securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT