generated: '2026-09-25' method: derived source: openapi/aiapplyd-openapi.yml authentication: style: 'Authorization: Bearer ' ref: authentication/aiapplyd-authentication.yml idempotency: coverage: partial mechanism: no Idempotency-Key header; one client-generated body key, and several operations idempotent by natural key as stated in their descriptions header: null body_field: 'clientReportId (postSupportPublicContentReport: "Stable client-generated UUID used to make manual retries idempotent")' scope: - postSupportPublicContentReport - postJobs - postNotificationsPushToken - postJobMatchesApplyRelaxation - postJobMatchesByIdEvaluate - postOnboardingProfile - postOnboardingComplete - postAiPersonaDeriveCustomTone - postAnalyticsRecommendationsApply - postPublicDeletionConfirm evidence: operation descriptions in https://api.aiapplyd.com/api/v1/openapi.json (fetched 2026-09-25); 10 of 159 mutating operations. postJobs is idempotent per user on sourceUrl. verified: derived note: The admin token-credit operation that carried idempotencyKey on 2026-09-23 is no longer in the public contract. reversibility: surfaces: - surface: auto-apply application operation: POST /applications/{resultId}/cancel window: only while the application is still queued or preparing; 409 Conflict once submission has started source: https://api.aiapplyd.com/api/v1/openapi.json operationId: postApplicationsByResultIdCancel - surface: subscription operation: POST /billing/cancel-subscription window: immediately or at the end of the billing period; access runs to the end of the period already paid for source: https://aiapplyd.com/pricing.md operationId: postBillingCancelSubscription - surface: job-match feed widening operation: POST /job-matches/revert-widening source: https://api.aiapplyd.com/api/v1/openapi.json operationId: postJobMatchesRevertWidening note: Fees are non-refundable except where mandatory law says otherwise (https://aiapplyd.com/legal/refunds). A submitted application cannot be withdrawn through the API. pagination: style: mixed params: - limit - offset - page - cursor error_envelope: shape: '{"error":{"code","message","severity","context"},"meta":{"timestamp"}}' example_status: 404 RESOURCE_NOT_FOUND observed on unknown routes versioning: path (/api/v1)