openapi: 3.0.1 info: description: 'Consumer-to-Extole integration endpoints: consumer event submission, zone rendering, profile management, and SDK-backing operations for browser and native app environments.' title: Integration API - Consumer to Extole Audiences Profiles API version: '1.0' servers: - description: Production url: https://{brand}.extole.io variables: brand: default: yourcompany description: Your Extole client subdomain (e.g. 'mycompany' for mycompany.extole.io) security: - HEADER: [] - QUERY: [] - COOKIE: [] tags: - name: Profiles paths: /api/v4/events/share/status/{pollingId}: get: deprecated: true description: Deprecated. Returns the processing status for a prior `POST /api/v4/events/share` call identified by `pollingId`. operationId: shareEventStatus parameters: - in: path name: pollingId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventSharePollingResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get share event status tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me: get: description: Returns the profile of the consumer identified by the supplied access token. The response includes the consumer's identity attributes (email, partner user id, name), custom data fields stored in `parameters`, and consent state. operationId: getMyProfile responses: '200': content: application/json: schema: $ref: '#/components/schemas/MyProfileResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get the authenticated consumer profile tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible post: description: Updates identity attributes and consent fields on the profile of the consumer identified by the access token. operationId: updateMyProfile requestBody: content: application/json: example: access_token: access_token email: email first_name: first_name last_name: last_name partner_user_id: partner_user_id profile_picture_url: profile_picture_url schema: $ref: '#/components/schemas/PersonProfileUpdateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PersonProfileUpdateRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_length_first_name: $ref: '#/components/examples/invalid_length_first_name' invalid_length_last_name: $ref: '#/components/examples/invalid_length_last_name' invalid_parameter: $ref: '#/components/examples/invalid_parameter' invalid_person_email: $ref: '#/components/examples/invalid_person_email' invalid_person_id: $ref: '#/components/examples/invalid_person_id' invalid_profile_picture_url: $ref: '#/components/examples/invalid_profile_picture_url' missing_request_body: $ref: '#/components/examples/missing_request_body' partner_user_id_already_defined: $ref: '#/components/examples/partner_user_id_already_defined' partner_user_id_invalid_length: $ref: '#/components/examples/partner_user_id_invalid_length' person_email_already_defined: $ref: '#/components/examples/person_email_already_defined' person_not_found: $ref: '#/components/examples/person_not_found' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Update the authenticated consumer profile tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/advocates: get: deprecated: true description: Deprecated. Returns advocates who referred the authenticated consumer. operationId: getAdvocateRelationships responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RelationshipResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List advocate relationships tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/assets: get: description: Returns all assets attached to the profile of the consumer identified by the access token. Assets are binary or text files such as wallet passes, QR codes, or uploaded images. operationId: listAssets responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/AssetResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List assets for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible post: description: Uploads a new asset and attaches it to the authenticated consumer's profile. Supply asset metadata in the `asset` form field and the file content in the `file` form field. operationId: createAsset requestBody: content: multipart/form-data: example: asset: data_type: PRIVATE name: name tags: - tag file: content: {} contentDisposition: creationDate: '2025-10-24T09:00:00.000Z' fileName: fileName modificationDate: '2025-10-24T09:00:00.000Z' parameters: parameters_key: parameters_key readDate: '2025-10-24T09:00:00.000Z' size: 1 type: type entity: {} fileName: fileName formDataContentDisposition: creationDate: '2025-10-24T09:00:00.000Z' fileName: fileName modificationDate: '2025-10-24T09:00:00.000Z' name: name parameters: parameters_key: parameters_key readDate: '2025-10-24T09:00:00.000Z' size: 1 type: type headers: empty: true headers_key: - headers_key mediaType: parameters: parameters_key: parameters_key subtype: subtype type: type wildcardSubtype: true wildcardType: true messageBodyWorkers: {} name: name parameterizedHeaders: empty: true parameterizedHeaders_key: - parameters: parameters_key: parameters_key value: value parent: bodyParts: - contentDisposition: creationDate: '2025-10-24T09:00:00.000Z' fileName: fileName modificationDate: '2025-10-24T09:00:00.000Z' parameters: parameters_key: parameters_key readDate: '2025-10-24T09:00:00.000Z' size: 1 type: type entity: {} headers: empty: true headers_key: - headers_key mediaType: parameters: parameters_key: parameters_key subtype: subtype type: type wildcardSubtype: true wildcardType: true messageBodyWorkers: {} parameterizedHeaders: empty: true parameterizedHeaders_key: - parameters: parameters_key: parameters_key value: value providers: {} contentDisposition: creationDate: '2025-10-24T09:00:00.000Z' fileName: fileName modificationDate: '2025-10-24T09:00:00.000Z' parameters: parameters_key: parameters_key readDate: '2025-10-24T09:00:00.000Z' size: 1 type: type entity: {} headers: empty: true headers_key: - headers_key mediaType: parameters: parameters_key: parameters_key subtype: subtype type: type wildcardSubtype: true wildcardType: true messageBodyWorkers: {} parameterizedHeaders: empty: true parameterizedHeaders_key: - parameters: parameters_key: parameters_key value: value providers: {} providers: {} simple: true value: value schema: properties: asset: $ref: '#/components/schemas/AssetRequest' file: $ref: '#/components/schemas/FormDataBodyPart' type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/AssetResponse' description: Successful response '400': content: application/json: examples: asset_limit_exceeded: $ref: '#/components/examples/asset_limit_exceeded' asset_mime_type_invalid: $ref: '#/components/examples/asset_mime_type_invalid' asset_size_invalid: $ref: '#/components/examples/asset_size_invalid' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Create an asset for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/assets/download: get: description: Streams the binary or text content of the asset matching the `name` query parameter on the authenticated consumer's profile. Returns HTTP 302 if the content is hosted at a remote URL; returns HTTP 200 with the raw content otherwise. operationId: downloadAssetByName parameters: - in: query name: name schema: type: string responses: '200': content: '*/*': {} description: Successful response '400': content: application/json: examples: asset_content_not_downloadable: $ref: '#/components/examples/asset_content_not_downloadable' asset_not_found: $ref: '#/components/examples/asset_not_found' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Download an asset by name tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/assets/{assetId}: get: description: Returns metadata for the asset identified by `assetId` on the authenticated consumer's profile. Use the download endpoints to retrieve the asset content. operationId: readAsset parameters: - in: path name: assetId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/AssetResponse' description: Successful response '400': content: application/json: examples: asset_content_not_downloadable: $ref: '#/components/examples/asset_content_not_downloadable' asset_not_found: $ref: '#/components/examples/asset_not_found' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get an asset by ID tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible delete: description: Removes the asset identified by `assetId` from the authenticated consumer's profile and returns the deleted asset metadata. operationId: deleteAsset parameters: - in: path name: assetId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/AssetResponse' description: Successful response '400': content: application/json: examples: asset_content_not_downloadable: $ref: '#/components/examples/asset_content_not_downloadable' asset_not_found: $ref: '#/components/examples/asset_not_found' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Delete an asset by ID tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/assets/{assetId}/download: get: description: Streams the binary or text content of the asset identified by `assetId`. Returns HTTP 302 if the content is hosted at a remote URL; returns HTTP 200 with the raw content otherwise. operationId: downloadAssetById parameters: - in: path name: assetId required: true schema: type: string responses: '200': content: '*/*': {} description: Successful response '400': content: application/json: examples: asset_content_not_downloadable: $ref: '#/components/examples/asset_content_not_downloadable' asset_not_found: $ref: '#/components/examples/asset_not_found' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Download an asset by ID tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/audience-memberships: get: description: Returns audience memberships for the authenticated consumer, including eligibility audiences that affect program participation. operationId: getAudienceMemberships responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/AudienceMembershipResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List audience memberships tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/friends: get: deprecated: true description: Deprecated. Returns friend profiles linked to the authenticated consumer through referral relationships. operationId: getFriends responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/FriendProfileResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List friends for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/journeys: get: description: Returns journey records for the consumer identified by the access token. Filter by `container` or `type` (journey name) to narrow the result set. operationId: getJourneys parameters: - in: query name: container schema: nullable: true type: string - in: query name: type schema: nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/JourneyResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List journeys for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/parameters: get: description: Returns all custom data fields stored in `parameters` on the profile of the consumer identified by the access token. operationId: getPersonProfileParameters responses: '200': content: application/json: schema: additionalProperties: type: object type: object description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get profile parameters for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible post: description: Creates or updates multiple custom data fields on the authenticated consumer's profile in a single request. Omitted fields are left unchanged. operationId: editPersonProfileParameters requestBody: content: application/json: example: parameters: parameters_key: {} type: CLIENT schema: $ref: '#/components/schemas/MeDataBulkUpdateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MeDataBulkUpdateRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateProfileResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' client_param_not_found: $ref: '#/components/examples/client_param_not_found' client_params_name_length_out_of_range: $ref: '#/components/examples/client_params_name_length_out_of_range' client_params_value_length_out_of_range: $ref: '#/components/examples/client_params_value_length_out_of_range' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_name: $ref: '#/components/examples/invalid_name' invalid_value: $ref: '#/components/examples/invalid_value' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' read_only_name: $ref: '#/components/examples/read_only_name' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Update multiple profile parameters tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/referrals-from-me: get: description: Returns referral relationships where the authenticated consumer is the advocate who referred others. operationId: getReferralsFromMe responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RelationshipResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List referrals from the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/referrals-to-me: get: description: Returns referral relationships where the authenticated consumer is the referred friend. operationId: getReferralsToMe responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RelationshipResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List referrals to the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/rewards/status: get: description: Returns the current state of a pending or completed reward redemption for the authenticated consumer. Supply exactly one of `polling_id` (returned by a prior reward claim call), `reward_name` (the configured reward name), or `partner_event_id` (the originating partner event identifier). Poll this endpoint until the reward reaches a terminal state. operationId: getMyRewardStatus parameters: - description: Polling identifier returned by the reward claim call. in: query name: polling_id schema: type: string - description: The configured name of the reward to look up. in: query name: reward_name schema: type: string - description: The partner-supplied event identifier that originated the reward. in: query name: partner_event_id schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollingRewardResponse' description: Reward redemption status. '400': content: application/json: examples: invalid_reward_filter: $ref: '#/components/examples/invalid_reward_filter' invalid_reward_id: $ref: '#/components/examples/invalid_reward_id' schema: $ref: '#/components/schemas/RestExceptionResponse' description: 'The reward query is invalid: `invalid_reward_id` if the supplied `polling_id` does not resolve to a reward, or `invalid_reward_filter` if none of `polling_id`, `reward_name`, or `partner_event_id` was supplied.' '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get reward redemption status tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/send-verification-email/status/{pollingId}: get: deprecated: true description: Deprecated. Returns the processing status for a prior verification email send identified by `pollingId`. operationId: verificationEmailStatus parameters: - in: path name: pollingId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/VerificationEmailResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get verification email status tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/shareables: get: deprecated: true description: Deprecated. Use `GET /api/v6/me/shareables` instead. Returns all shareables owned by the authenticated consumer. operationId: getMeShareables responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/MeShareableV4Response' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List shareables for the authenticated consumer (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible post: deprecated: true description: Deprecated. Use `POST /api/v6/me/shareables` instead. Creates a new shareable for the authenticated consumer. operationId: createMeShareableV4 requestBody: content: application/json: example: code: code content: description: description image_url: image_url partner_content_id: partner_content_id title: title url: url data: data_key: data_key key: key label: label target_url: target_url schema: $ref: '#/components/schemas/CreateMeShareableV4Request' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CreateMeShareableV4Response' description: Successful response '400': content: application/json: examples: EXISTING_LINK: $ref: '#/components/examples/EXISTING_LINK' INVALID_IMAGE_URL: $ref: '#/components/examples/INVALID_IMAGE_URL' INVALID_PARTNER_CONTENT_URL: $ref: '#/components/examples/INVALID_PARTNER_CONTENT_URL' INVALID_SHARE_URL: $ref: '#/components/examples/INVALID_SHARE_URL' INVALID_TARGET_URL: $ref: '#/components/examples/INVALID_TARGET_URL' INVALID_URL_FORMAT: $ref: '#/components/examples/INVALID_URL_FORMAT' NON_EXISTING_LINK: $ref: '#/components/examples/NON_EXISTING_LINK' UNREWARDABLE: $ref: '#/components/examples/UNREWARDABLE' binding_error: $ref: '#/components/examples/binding_error' code_illegal_character: $ref: '#/components/examples/code_illegal_character' code_out_of_range: $ref: '#/components/examples/code_out_of_range' code_profane_word: $ref: '#/components/examples/code_profane_word' code_taken_by_promotion: $ref: '#/components/examples/code_taken_by_promotion' content_description_length_exceeded: $ref: '#/components/examples/content_description_length_exceeded' data_attribute_name_invalid: $ref: '#/components/examples/data_attribute_name_invalid' data_attribute_name_length_out_of_range: $ref: '#/components/examples/data_attribute_name_length_out_of_range' data_attribute_value_invalid: $ref: '#/components/examples/data_attribute_value_invalid' data_attribute_value_length_out_of_range: $ref: '#/components/examples/data_attribute_value_length_out_of_range' extole_destination_length_out_of_range: $ref: '#/components/examples/extole_destination_length_out_of_range' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' invalid_shareable_id: $ref: '#/components/examples/invalid_shareable_id' key_taken: $ref: '#/components/examples/key_taken' label_name_contains_illegal_character: $ref: '#/components/examples/label_name_contains_illegal_character' label_name_out_of_range: $ref: '#/components/examples/label_name_out_of_range' missing_request_body: $ref: '#/components/examples/missing_request_body' person_not_found: $ref: '#/components/examples/person_not_found' target_url_length_out_of_range: $ref: '#/components/examples/target_url_length_out_of_range' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' code_contains_reserved_word: $ref: '#/components/examples/code_contains_reserved_word' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Create a shareable (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/shareables/status/{polling_id}: get: deprecated: true description: Deprecated. Returns the processing status for an asynchronous shareable creation identified by `polling_id`. operationId: getMeShareableStatusV4 parameters: - in: path name: polling_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShareableCreateV4PollingResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get shareable creation status (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/shareables/{shareable_id}: get: deprecated: true description: Deprecated. Use `GET /api/v6/me/shareables/{code}` instead. Returns the shareable identified by `shareable_id` when it belongs to the authenticated consumer. operationId: getMeShareable parameters: - in: path name: shareable_id required: true schema: type: string - in: query name: consumer_event.source schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeShareableV4Response' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_shareable_id: $ref: '#/components/examples/invalid_shareable_id' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get a shareable by ID (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible put: deprecated: true description: Deprecated. Updates the shareable identified by `shareable_id` on the authenticated consumer's profile. operationId: edit parameters: - in: path name: shareable_id required: true schema: type: string requestBody: content: application/json: example: content: description: description image_url: image_url partner_content_id: partner_content_id title: title url: url data: data_key: data_key key: key label: label target_url: target_url schema: $ref: '#/components/schemas/EditMeShareableV4Request' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CreateMeShareableV4Response' description: Successful response '400': content: application/json: examples: EXISTING_LINK: $ref: '#/components/examples/EXISTING_LINK' INVALID_IMAGE_URL: $ref: '#/components/examples/INVALID_IMAGE_URL' INVALID_PARTNER_CONTENT_URL: $ref: '#/components/examples/INVALID_PARTNER_CONTENT_URL' INVALID_SHARE_URL: $ref: '#/components/examples/INVALID_SHARE_URL' INVALID_TARGET_URL: $ref: '#/components/examples/INVALID_TARGET_URL' INVALID_URL_FORMAT: $ref: '#/components/examples/INVALID_URL_FORMAT' NON_EXISTING_LINK: $ref: '#/components/examples/NON_EXISTING_LINK' UNREWARDABLE: $ref: '#/components/examples/UNREWARDABLE' binding_error: $ref: '#/components/examples/binding_error' code_illegal_character: $ref: '#/components/examples/code_illegal_character' code_out_of_range: $ref: '#/components/examples/code_out_of_range' code_profane_word: $ref: '#/components/examples/code_profane_word' code_taken_by_promotion: $ref: '#/components/examples/code_taken_by_promotion' content_description_length_exceeded: $ref: '#/components/examples/content_description_length_exceeded' data_attribute_name_invalid: $ref: '#/components/examples/data_attribute_name_invalid' data_attribute_name_length_out_of_range: $ref: '#/components/examples/data_attribute_name_length_out_of_range' data_attribute_value_invalid: $ref: '#/components/examples/data_attribute_value_invalid' data_attribute_value_length_out_of_range: $ref: '#/components/examples/data_attribute_value_length_out_of_range' extole_destination_length_out_of_range: $ref: '#/components/examples/extole_destination_length_out_of_range' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' invalid_shareable_id: $ref: '#/components/examples/invalid_shareable_id' key_taken: $ref: '#/components/examples/key_taken' label_name_contains_illegal_character: $ref: '#/components/examples/label_name_contains_illegal_character' label_name_out_of_range: $ref: '#/components/examples/label_name_out_of_range' missing_request_body: $ref: '#/components/examples/missing_request_body' person_not_found: $ref: '#/components/examples/person_not_found' target_url_length_out_of_range: $ref: '#/components/examples/target_url_length_out_of_range' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' code_contains_reserved_word: $ref: '#/components/examples/code_contains_reserved_word' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_shareable_id: $ref: '#/components/examples/invalid_shareable_id' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Update a shareable (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/shares: get: description: Returns shares recorded for the authenticated consumer. Filter by `partner_share_id` or `partner_id` to narrow the result set. operationId: getShares parameters: - in: query name: partner_share_id schema: nullable: true type: string - description: 'A partner id using this format: :' in: query name: partner_id schema: nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ShareResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List shares for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/shares/{shareId}: get: description: Returns the share identified by `shareId` when it belongs to the authenticated consumer. operationId: getShare parameters: - in: path name: shareId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShareResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: SHARE_NOT_FOUND: $ref: '#/components/examples/SHARE_NOT_FOUND' access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get a share by ID tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/steps: get: description: Returns program steps completed by the authenticated consumer. Filter by `campaign_id`, `program_label`, `step_name`, or `quality` to narrow the result set. operationId: getSteps parameters: - in: query name: campaign_id schema: nullable: true type: string - in: query name: program_label schema: nullable: true type: string - in: query name: step_name schema: nullable: true type: string - in: query name: quality schema: enum: - HIGH - LOW - NONE nullable: true type: string - in: query name: partner_event_id_name schema: nullable: true type: string - in: query name: partner_event_id_value schema: nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/StepResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List steps for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/shareable: get: deprecated: true description: Deprecated. Returns shareables matching the `code` query parameter. operationId: getShareablesV4 parameters: - in: query name: code schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/GetShareableV4Response' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Look up shareables by code (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible post: deprecated: true description: Deprecated. Use `POST /api/v6/me/shareables` instead. Creates a shareable for the authenticated consumer. operationId: createShareable requestBody: content: application/json: example: access_token: access_token code: code content: description: description image_url: image_url partner_content_id: partner_content_id title: title url: url key: key label: label target_url: target_url schema: $ref: '#/components/schemas/CreateShareableV4Request' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CreateShareableV4Response' description: Successful response '400': content: application/json: examples: EXISTING_LINK: $ref: '#/components/examples/EXISTING_LINK' INVALID_IMAGE_URL: $ref: '#/components/examples/INVALID_IMAGE_URL' INVALID_PARTNER_CONTENT_URL: $ref: '#/components/examples/INVALID_PARTNER_CONTENT_URL' INVALID_SHARE_URL: $ref: '#/components/examples/INVALID_SHARE_URL' INVALID_TARGET_URL: $ref: '#/components/examples/INVALID_TARGET_URL' INVALID_URL_FORMAT: $ref: '#/components/examples/INVALID_URL_FORMAT' NON_EXISTING_LINK: $ref: '#/components/examples/NON_EXISTING_LINK' UNREWARDABLE: $ref: '#/components/examples/UNREWARDABLE' binding_error: $ref: '#/components/examples/binding_error' code_illegal_character: $ref: '#/components/examples/code_illegal_character' code_out_of_range: $ref: '#/components/examples/code_out_of_range' code_profane_word: $ref: '#/components/examples/code_profane_word' code_taken_by_promotion: $ref: '#/components/examples/code_taken_by_promotion' content_description_length_exceeded: $ref: '#/components/examples/content_description_length_exceeded' data_attribute_name_invalid: $ref: '#/components/examples/data_attribute_name_invalid' data_attribute_name_length_out_of_range: $ref: '#/components/examples/data_attribute_name_length_out_of_range' data_attribute_value_invalid: $ref: '#/components/examples/data_attribute_value_invalid' data_attribute_value_length_out_of_range: $ref: '#/components/examples/data_attribute_value_length_out_of_range' extole_destination_length_out_of_range: $ref: '#/components/examples/extole_destination_length_out_of_range' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' invalid_shareable_id: $ref: '#/components/examples/invalid_shareable_id' key_taken: $ref: '#/components/examples/key_taken' label_name_contains_illegal_character: $ref: '#/components/examples/label_name_contains_illegal_character' label_name_out_of_range: $ref: '#/components/examples/label_name_out_of_range' missing_request_body: $ref: '#/components/examples/missing_request_body' person_not_found: $ref: '#/components/examples/person_not_found' target_url_length_out_of_range: $ref: '#/components/examples/target_url_length_out_of_range' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' code_contains_reserved_word: $ref: '#/components/examples/code_contains_reserved_word' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Create a shareable (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/shareable/status/{polling_id}: get: deprecated: true description: Deprecated. Returns the processing status for an asynchronous shareable creation identified by `polling_id`. operationId: getStatus_3 parameters: - in: path name: polling_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShareableCreateV4PollingResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get shareable creation status (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/shareable/{shareable_id}: get: deprecated: true description: Deprecated. Returns the shareable identified by `shareable_id`. operationId: getShareableV4 parameters: - in: path name: shareable_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetShareableV4Response' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: NOT_FOUND: $ref: '#/components/examples/NOT_FOUND' access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get a shareable by ID (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/shares: get: deprecated: true description: Deprecated. Returns shares matching optional `partner_share_id` or `partner_id` filters. For the authenticated consumer's shares use `GET /api/v4/me/shares` instead. operationId: getPublicShares parameters: - in: query name: partner_share_id schema: nullable: true type: string - description: 'A partner id using this format: :' in: query name: partner_id schema: nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/PublicShareResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' partner_id_missing: $ref: '#/components/examples/partner_id_missing' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List shares tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/shares/{share_id}: get: deprecated: true description: Deprecated. Returns the share identified by `share_id`. For the authenticated consumer's shares use `GET /api/v4/me/shares/{shareId}` instead. operationId: getPublicShare parameters: - in: path name: share_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PublicShareResponse' description: Successful response '400': content: application/json: examples: SHARE_NOT_FOUND: $ref: '#/components/examples/SHARE_NOT_FOUND' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get a share by ID tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v5/custom/share/status/{pollingId}: get: deprecated: true description: Deprecated. Returns the processing status for a prior `POST /api/v5/custom/share` call identified by `pollingId`. operationId: customShareStatus parameters: - in: path name: pollingId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomSharePollingResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get custom share status tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v6/me/shareables: get: description: Returns shareables owned by the consumer identified by the access token. Filter by `key` or `label` to narrow the result set. operationId: getShareables_2 parameters: - in: query name: key schema: nullable: true type: string - in: query name: label schema: nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/MeShareableResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List shareables for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible post: description: Creates a new shareable link for the authenticated consumer. Returns the shareable with its assigned code and share URL. operationId: createMeShareable_2 requestBody: content: application/json: example: content: description: description image_url: image_url partner_content_id: partner_content_id title: title url: url data: data_key: data_key key: key label: label preferred_code_prefixes: - preferred_code_prefixe schema: $ref: '#/components/schemas/CreateMeShareableRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeShareableResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' content_url_length_out_of_range: $ref: '#/components/examples/content_url_length_out_of_range' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' blocked_content_url: $ref: '#/components/examples/blocked_content_url' content_image_url_invalid: $ref: '#/components/examples/content_image_url_invalid' data_attribute_name_invalid: $ref: '#/components/examples/data_attribute_name_invalid' data_attribute_name_length_out_of_range: $ref: '#/components/examples/data_attribute_name_length_out_of_range' data_attribute_value_invalid: $ref: '#/components/examples/data_attribute_value_invalid' data_attribute_value_length_out_of_range: $ref: '#/components/examples/data_attribute_value_length_out_of_range' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_content_url: $ref: '#/components/examples/invalid_content_url' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' label_name_contains_illegal_character: $ref: '#/components/examples/label_name_contains_illegal_character' label_name_length_out_of_range: $ref: '#/components/examples/label_name_length_out_of_range' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Create a shareable for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v6/me/shareables/{code}: get: description: Returns the shareable identified by `code` when it belongs to the authenticated consumer. operationId: getShareable_3 parameters: - in: path name: code required: true schema: pattern: .+ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeShareableResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' shareable_not_found: $ref: '#/components/examples/shareable_not_found' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get a shareable by code tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/events/share: post: deprecated: true description: Deprecated. Use `POST /api/v6/email/share` instead. Records a share event on behalf of the authenticated advocate and returns a `polling_id` for status polling. operationId: shareEvent requestBody: content: application/json: example: campaign_id: campaign_id consumer_event: campaign_id: campaign_id channel: channel origin_event_id: 1 parameters: parameters_key: parameters_key product_id: product_id recipient_emails: - recipient_email site_host_id: site_host_id source: source source_url: source_url via_zone: via_zone zone_name: zone_name data: data_key: data_key message: message recipient_email: recipient_email shareable_id: shareable_id schema: $ref: '#/components/schemas/EventShareRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventShareResponse' description: Successful response '400': content: application/json: examples: CHANNEL_MISSING: $ref: '#/components/examples/CHANNEL_MISSING' INVALID_RECIPIENTS: $ref: '#/components/examples/INVALID_RECIPIENTS' INVALID_SHAREABLE_ID: $ref: '#/components/examples/INVALID_SHAREABLE_ID' INVALID_SHARE_MESSAGE_CHARACTERS: $ref: '#/components/examples/INVALID_SHARE_MESSAGE_CHARACTERS' INVALID_SHARE_MESSAGE_LINK: $ref: '#/components/examples/INVALID_SHARE_MESSAGE_LINK' RECIPIENTS_MISSING: $ref: '#/components/examples/RECIPIENTS_MISSING' SHAREABLE_ID_MISSING: $ref: '#/components/examples/SHAREABLE_ID_MISSING' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: INVALID_MESSAGE_LENGTH: $ref: '#/components/examples/INVALID_MESSAGE_LENGTH' INVALID_RECIPIENT_SIZE: $ref: '#/components/examples/INVALID_RECIPIENT_SIZE' MESSAGE_MISSING: $ref: '#/components/examples/MESSAGE_MISSING' SHAREABLE_NOT_FOUND: $ref: '#/components/examples/SHAREABLE_NOT_FOUND' access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Submit a share event tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/send-verification-email: post: deprecated: true description: Deprecated. Sends a verification email to confirm the authenticated consumer's email address. Returns a `polling_id` for status polling. operationId: sendVerificationEmail requestBody: content: application/json: example: campaign_id: campaign_id schema: $ref: '#/components/schemas/VerificationEmailRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/VerificationEmailRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/VerificationEmailResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Send a profile verification email tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v5/custom/share: post: deprecated: true description: Deprecated. Use event-based sharing instead. Records a custom share on behalf of the authenticated advocate and returns a `polling_id` for status polling. operationId: customShare requestBody: content: application/json: example: advocate_code: advocate_code channel: channel data: data_key: data_key message: message recipient_email: recipient_email schema: $ref: '#/components/schemas/CustomShareRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomShareResponse' description: Successful response '400': content: application/json: examples: ADVOCATE_CODE_MISSING: $ref: '#/components/examples/ADVOCATE_CODE_MISSING' ADVOCATE_CODE_NOT_FOUND: $ref: '#/components/examples/ADVOCATE_CODE_NOT_FOUND' CHANNEL_MISSING: $ref: '#/components/examples/CHANNEL_MISSING' INVALID_MESSAGE_LENGTH: $ref: '#/components/examples/INVALID_MESSAGE_LENGTH' INVALID_RECIPIENT: $ref: '#/components/examples/INVALID_RECIPIENT' INVALID_SHARE_MESSAGE_CHARACTERS: $ref: '#/components/examples/INVALID_SHARE_MESSAGE_CHARACTERS' INVALID_SHARE_MESSAGE_LINK: $ref: '#/components/examples/INVALID_SHARE_MESSAGE_LINK' MISSING_MESSAGE: $ref: '#/components/examples/MISSING_MESSAGE' MISSING_RECIPIENT: $ref: '#/components/examples/MISSING_RECIPIENT' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Submit a custom share event tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v5/email/share/batch: post: deprecated: true description: Deprecated. Use `POST /api/v6/email/share/batch` instead. Sends referral emails to multiple recipients in a single request. operationId: batchEmailShare requestBody: content: application/json: example: advocate_code: advocate_code data: data_key: data_key message: message recipient_emails: - recipient_email subject: subject schema: $ref: '#/components/schemas/BatchEmailShareV5Request' responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/EmailShareV5Response' type: array description: Successful response '400': content: application/json: examples: ADVOCATE_CODE_MISSING: $ref: '#/components/examples/ADVOCATE_CODE_MISSING' ADVOCATE_CODE_NOT_FOUND: $ref: '#/components/examples/ADVOCATE_CODE_NOT_FOUND' INVALID_MESSAGE_LENGTH: $ref: '#/components/examples/INVALID_MESSAGE_LENGTH' INVALID_RECIPIENT: $ref: '#/components/examples/INVALID_RECIPIENT' INVALID_RECIPIENT_SIZE: $ref: '#/components/examples/INVALID_RECIPIENT_SIZE' INVALID_SHARE_MESSAGE_CHARACTERS: $ref: '#/components/examples/INVALID_SHARE_MESSAGE_CHARACTERS' INVALID_SHARE_MESSAGE_LINK: $ref: '#/components/examples/INVALID_SHARE_MESSAGE_LINK' INVALID_SHARE_SUBJECT_CHARACTERS: $ref: '#/components/examples/INVALID_SHARE_SUBJECT_CHARACTERS' INVALID_SHARE_SUBJECT_LINK: $ref: '#/components/examples/INVALID_SHARE_SUBJECT_LINK' INVALID_SUBJECT_LENGTH: $ref: '#/components/examples/INVALID_SUBJECT_LENGTH' MESSAGE_MISSING: $ref: '#/components/examples/MESSAGE_MISSING' NO_RECIPIENT: $ref: '#/components/examples/NO_RECIPIENT' RECEIPIENT_JSON_CONVERSION_ERROR: $ref: '#/components/examples/RECEIPIENT_JSON_CONVERSION_ERROR' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Send referral email shares in batch (legacy) tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v6/me/shareables/get-create-or-update: post: description: Returns an existing shareable, creates one if missing, or updates it when the request data differs. Combines get-or-create with in-place updates. operationId: getCreateOrUpdate requestBody: content: application/json: example: content: description: description image_url: image_url partner_content_id: partner_content_id title: title url: url data: data_key: data_key key: key label: label preferred_code_prefixes: - preferred_code_prefixe schema: $ref: '#/components/schemas/CreateMeShareableRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeShareableResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' content_url_length_out_of_range: $ref: '#/components/examples/content_url_length_out_of_range' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' blocked_content_url: $ref: '#/components/examples/blocked_content_url' content_image_url_invalid: $ref: '#/components/examples/content_image_url_invalid' data_attribute_name_invalid: $ref: '#/components/examples/data_attribute_name_invalid' data_attribute_name_length_out_of_range: $ref: '#/components/examples/data_attribute_name_length_out_of_range' data_attribute_value_invalid: $ref: '#/components/examples/data_attribute_value_invalid' data_attribute_value_length_out_of_range: $ref: '#/components/examples/data_attribute_value_length_out_of_range' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_content_url: $ref: '#/components/examples/invalid_content_url' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' label_name_contains_illegal_character: $ref: '#/components/examples/label_name_contains_illegal_character' label_name_length_out_of_range: $ref: '#/components/examples/label_name_length_out_of_range' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get, create, or update a shareable tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v6/me/shareables/get-or-create: post: description: Returns an existing shareable matching the request criteria or creates one if none exists. Idempotent helper for mobile and headless integrations. operationId: getOrCreate requestBody: content: application/json: example: content: description: description image_url: image_url partner_content_id: partner_content_id title: title url: url data: data_key: data_key key: key label: label preferred_code_prefixes: - preferred_code_prefixe schema: $ref: '#/components/schemas/CreateMeShareableRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeShareableResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' content_url_length_out_of_range: $ref: '#/components/examples/content_url_length_out_of_range' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' blocked_content_url: $ref: '#/components/examples/blocked_content_url' content_image_url_invalid: $ref: '#/components/examples/content_image_url_invalid' data_attribute_name_invalid: $ref: '#/components/examples/data_attribute_name_invalid' data_attribute_name_length_out_of_range: $ref: '#/components/examples/data_attribute_name_length_out_of_range' data_attribute_value_invalid: $ref: '#/components/examples/data_attribute_value_invalid' data_attribute_value_length_out_of_range: $ref: '#/components/examples/data_attribute_value_length_out_of_range' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_content_url: $ref: '#/components/examples/invalid_content_url' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' label_name_contains_illegal_character: $ref: '#/components/examples/label_name_contains_illegal_character' label_name_length_out_of_range: $ref: '#/components/examples/label_name_length_out_of_range' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get or create a shareable tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /api/v4/me/parameters/{parameter_name}: put: description: Creates or updates one named custom data field on the authenticated consumer's profile. The parameter name is supplied in the `parameter_name` path segment. operationId: putPersonProfileParameter parameters: - in: path name: parameter_name required: true schema: type: string requestBody: content: application/json: example: type: CLIENT value: {} schema: $ref: '#/components/schemas/MeDataUpdateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MeDataUpdateRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateProfileResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' client_param_not_found: $ref: '#/components/examples/client_param_not_found' client_params_name_length_out_of_range: $ref: '#/components/examples/client_params_name_length_out_of_range' client_params_value_length_out_of_range: $ref: '#/components/examples/client_params_value_length_out_of_range' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' invalid_name: $ref: '#/components/examples/invalid_name' invalid_value: $ref: '#/components/examples/invalid_value' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' read_only_name: $ref: '#/components/examples/read_only_name' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Set a single profile parameter tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: visible /v4/me/public-steps: get: description: Returns program steps for the authenticated consumer that are visible in public scope. Filter by `campaign_id`, `program_label`, or `step_name` to narrow the result set. operationId: getMyPublicPersonSteps parameters: - in: query name: campaign_id schema: nullable: true type: string - in: query name: program_label schema: nullable: true type: string - in: query name: step_name schema: nullable: true type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/PublicPersonStepResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List public steps for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: expert /v4/me/shares-all: get: description: Returns every share recorded for the authenticated consumer without partner filters. operationId: getAllShares responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/PublicShareResponse' type: array description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: List all shares for the authenticated consumer tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: expert /v4/optout/{secure_email}: get: operationId: getOptout parameters: - in: path name: secure_email required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/OptoutResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: invalid_secure_email: $ref: '#/components/examples/invalid_secure_email' method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: expert post: operationId: updateOptout parameters: - in: path name: secure_email required: true schema: type: string requestBody: content: application/json: example: list_name: list_name list_type: list_type optout: true source: source type: ADVOCATE schema: $ref: '#/components/schemas/OptoutRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/OptoutResponse' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: invalid_secure_email: $ref: '#/components/examples/invalid_secure_email' method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: expert /v6/address/validate: post: description: Validates and normalizes the postal address in the request body. Returns corrected address fields and validation status when the address can be verified. operationId: validateAddress requestBody: content: application/json: example: address_lines: - address_line region_code: region_code schema: $ref: '#/components/schemas/AddressValidationRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/AddressValidationResponse' description: Successful response '400': content: application/json: examples: address_validation: $ref: '#/components/examples/address_validation' binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' expired_access_token: $ref: '#/components/examples/expired_access_token' invalid_access_token: $ref: '#/components/examples/invalid_access_token' jwt_authentication_error: $ref: '#/components/examples/jwt_authentication_error' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Validate a postal address tags: - Profiles x-extole-bundle: integration-consumer-to-extole x-extole-visibility: expert /v3/shareables/{code}: get: description: Returns the v3 shareable link for the specified code, including the participant and campaign context resolved at runtime. operationId: getShareable parameters: - in: path name: code required: true schema: pattern: .+ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonShareableV4Response' description: Successful response '400': content: application/json: examples: binding_error: $ref: '#/components/examples/binding_error' invalid_json: $ref: '#/components/examples/invalid_json' invalid_parameter: $ref: '#/components/examples/invalid_parameter' missing_request_body: $ref: '#/components/examples/missing_request_body' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Bad Request '401': content: application/json: examples: method_unauthorized: $ref: '#/components/examples/method_unauthorized' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unauthorized '402': content: application/json: examples: payment_required: $ref: '#/components/examples/payment_required' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Payment Required '403': content: application/json: examples: access_denied: $ref: '#/components/examples/access_denied' method_unauthorized: $ref: '#/components/examples/method_unauthorized' missing_access_token: $ref: '#/components/examples/missing_access_token' person_not_found: $ref: '#/components/examples/person_not_found' shareable_not_found: $ref: '#/components/examples/shareable_not_found' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Forbidden '415': content: application/json: examples: unsupported_media_type: $ref: '#/components/examples/unsupported_media_type' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Unsupported Media Type '429': content: application/json: examples: too_many_requests: $ref: '#/components/examples/too_many_requests' schema: $ref: '#/components/schemas/RestExceptionResponse' description: Too Many Requests summary: Get a shareable link tags: - Profiles x-extole-bundle: management x-extole-visibility: visible components: examples: expired_access_token: summary: expired_access_token value: code: expired_access_token http_status_code: 403 message: The access_token provided with this request has expired. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 label_name_length_out_of_range: summary: label_name_length_out_of_range value: code: label_name_length_out_of_range http_status_code: 403 message: Label name is not of valid length parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SHARE_URL: summary: INVALID_SHARE_URL value: code: INVALID_SHARE_URL http_status_code: 400 message: Invalid share URL. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 CHANNEL_MISSING: summary: CHANNEL_MISSING value: code: CHANNEL_MISSING http_status_code: 400 message: Channel is missing parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 content_image_url_invalid: summary: content_image_url_invalid value: code: content_image_url_invalid http_status_code: 403 message: Invalid content image_url parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 partner_user_id_already_defined: summary: partner_user_id_already_defined value: code: partner_user_id_already_defined http_status_code: 400 message: Partner user id already defined parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 label_name_contains_illegal_character: summary: label_name_contains_illegal_character value: code: label_name_contains_illegal_character http_status_code: 403 message: Label name can only contain alphanumeric, dash and underscore characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 NO_RECIPIENT: summary: NO_RECIPIENT value: code: NO_RECIPIENT http_status_code: 400 message: There is no recipient in the share request. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_value: summary: invalid_value value: code: invalid_value http_status_code: 400 message: Data value is invalid parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 jwt_authentication_error: summary: jwt_authentication_error value: code: jwt_authentication_error http_status_code: 403 message: The jwt authentication failed. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_reward_id: summary: invalid_reward_id value: code: invalid_reward_id http_status_code: 400 message: Invalid reward id. Reward not found. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_content_url: summary: invalid_content_url value: code: invalid_content_url http_status_code: 403 message: Invalid content url parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SHARE_MESSAGE_CHARACTERS: summary: INVALID_SHARE_MESSAGE_CHARACTERS value: code: INVALID_SHARE_MESSAGE_CHARACTERS http_status_code: 400 message: Sorry, we can not put these characters in a share message. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 MISSING_MESSAGE: summary: MISSING_MESSAGE value: code: MISSING_MESSAGE http_status_code: 400 message: Share message is missing. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_URL_FORMAT: summary: INVALID_URL_FORMAT value: code: INVALID_URL_FORMAT http_status_code: 400 message: Invalid URL format for URL. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_length_last_name: summary: invalid_length_last_name value: code: invalid_length_last_name http_status_code: 400 message: Last Name length greater than 50 characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 binding_error: summary: binding_error value: code: binding_error http_status_code: 400 message: Argument is not of the expected type parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 code_profane_word: summary: code_profane_word value: code: code_profane_word http_status_code: 400 message: Code contains profane word parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 data_attribute_value_invalid: summary: data_attribute_value_invalid value: code: data_attribute_value_invalid http_status_code: 403 message: Shareable data value is invalid parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_secure_email: summary: invalid_secure_email value: code: invalid_secure_email http_status_code: 403 message: The secure_email provided is not valid. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 too_many_requests: summary: too_many_requests value: code: too_many_requests http_status_code: 429 message: The server is unable to process your request at the moment, please retry later. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 MISSING_RECIPIENT: summary: MISSING_RECIPIENT value: code: MISSING_RECIPIENT http_status_code: 400 message: Recipient is missing. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_parameter: summary: invalid_parameter value: code: invalid_parameter http_status_code: 400 message: Parameter is invalid. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SHARE_SUBJECT_LINK: summary: INVALID_SHARE_SUBJECT_LINK value: code: INVALID_SHARE_SUBJECT_LINK http_status_code: 400 message: Sorry, we can not put that link in a share subject. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 read_only_name: summary: read_only_name value: code: read_only_name http_status_code: 400 message: One or more names supplied are read only parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 person_not_found: summary: person_not_found value: code: person_not_found http_status_code: 403 message: Person not found parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 key_taken: summary: key_taken value: code: key_taken http_status_code: 403 message: The key associated with this shareable has already been specified parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_length_first_name: summary: invalid_length_first_name value: code: invalid_length_first_name http_status_code: 400 message: First Name length greater than 50 characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 shareable_not_found: summary: shareable_not_found value: code: shareable_not_found http_status_code: 403 message: Shareable not found parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 code_out_of_range: summary: code_out_of_range value: code: code_out_of_range http_status_code: 403 message: Code length must be between 4 and 50 characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 asset_size_invalid: summary: asset_size_invalid value: code: asset_size_invalid http_status_code: 400 message: The supplied asset has an invalid size parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 data_attribute_value_length_out_of_range: summary: data_attribute_value_length_out_of_range value: code: data_attribute_value_length_out_of_range http_status_code: 403 message: Shareable data attribute value length is out of range. Max 2000 chars parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 payment_required: summary: payment_required value: code: payment_required http_status_code: 402 message: The access_token provided is associated with an unpaid account. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 missing_access_token: summary: missing_access_token value: code: missing_access_token http_status_code: 403 message: No access_token was provided with this request. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 content_description_length_exceeded: summary: content_description_length_exceeded value: code: content_description_length_exceeded http_status_code: 403 message: Content description length exceeded parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 code_taken_by_promotion: summary: code_taken_by_promotion value: code: code_taken_by_promotion http_status_code: 400 message: The code associated with this shareable is already used by a promotion link parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SHARE_MESSAGE_LINK: summary: INVALID_SHARE_MESSAGE_LINK value: code: INVALID_SHARE_MESSAGE_LINK http_status_code: 400 message: Sorry, we can not put that link in a share message. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 method_unauthorized: summary: method_unauthorized value: code: method_unauthorized http_status_code: 401 message: Unauthorized access to this endpoint parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_RECIPIENTS: summary: INVALID_RECIPIENTS value: code: INVALID_RECIPIENTS http_status_code: 400 message: Recipient has a wrong syntax. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 content_url_length_out_of_range: summary: content_url_length_out_of_range value: code: content_url_length_out_of_range http_status_code: 400 message: Content url is out of range parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_access_token: summary: invalid_access_token value: code: invalid_access_token http_status_code: 403 message: The access_token provided with this request is invalid. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_reward_filter: summary: invalid_reward_filter value: code: invalid_reward_filter http_status_code: 400 message: 'Invalid reward filter, one of: polling_id, reward_name or partner_event_id are required' parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 code_contains_reserved_word: summary: code_contains_reserved_word value: code: code_contains_reserved_word http_status_code: 403 message: Shareable code contains reserved word parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 asset_content_not_downloadable: summary: asset_content_not_downloadable value: code: asset_content_not_downloadable http_status_code: 400 message: Asset content could not be downloaded parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 SHAREABLE_ID_MISSING: summary: SHAREABLE_ID_MISSING value: code: SHAREABLE_ID_MISSING http_status_code: 400 message: ShareableId is missing in the share request. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 client_param_not_found: summary: client_param_not_found value: code: client_param_not_found http_status_code: 403 message: Parameter not found parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_person_email: summary: invalid_person_email value: code: invalid_person_email http_status_code: 400 message: Invalid person email parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 ADVOCATE_CODE_MISSING: summary: ADVOCATE_CODE_MISSING value: code: ADVOCATE_CODE_MISSING http_status_code: 400 message: advocate_code is required in the share request. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 access_denied: summary: access_denied value: code: access_denied http_status_code: 403 message: The access_token provided is not permitted to access the specified resource. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 MESSAGE_MISSING: summary: MESSAGE_MISSING value: code: MESSAGE_MISSING http_status_code: 400 message: Email message is missing. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 UNREWARDABLE: summary: UNREWARDABLE value: code: UNREWARDABLE http_status_code: 400 message: User must have an associated email to create a shareable. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 asset_mime_type_invalid: summary: asset_mime_type_invalid value: code: asset_mime_type_invalid http_status_code: 400 message: The supplied asset has an invalid mime type parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_person_id: summary: invalid_person_id value: code: invalid_person_id http_status_code: 400 message: Invalid person_id parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 blocked_content_url: summary: blocked_content_url value: code: blocked_content_url http_status_code: 403 message: Content url is blocked parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_name: summary: invalid_name value: code: invalid_name http_status_code: 400 message: The provided client name was invalid parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_json: summary: invalid_json value: code: invalid_json http_status_code: 400 message: JSON is invalid parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 ADVOCATE_CODE_NOT_FOUND: summary: ADVOCATE_CODE_NOT_FOUND value: code: ADVOCATE_CODE_NOT_FOUND http_status_code: 400 message: Advocate code not found parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SHARE_SUBJECT_CHARACTERS: summary: INVALID_SHARE_SUBJECT_CHARACTERS value: code: INVALID_SHARE_SUBJECT_CHARACTERS http_status_code: 400 message: Sorry, we can not put these characters in a share subject. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_RECIPIENT_SIZE: summary: INVALID_RECIPIENT_SIZE value: code: INVALID_RECIPIENT_SIZE http_status_code: 400 message: Cannot share to more than 25 recipients at once. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 partner_id_missing: summary: partner_id_missing value: code: partner_id_missing http_status_code: 400 message: Please pass a partner id parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 unsupported_media_type: summary: unsupported_media_type value: code: unsupported_media_type http_status_code: 415 message: Request had an unsupported or no media type parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SUBJECT_LENGTH: summary: INVALID_SUBJECT_LENGTH value: code: INVALID_SUBJECT_LENGTH http_status_code: 400 message: Email subject cannot exceed 78 characters. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_MESSAGE_LENGTH: summary: INVALID_MESSAGE_LENGTH value: code: INVALID_MESSAGE_LENGTH http_status_code: 400 message: Share message cannot exceed 2048 characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 code_illegal_character: summary: code_illegal_character value: code: code_illegal_character http_status_code: 403 message: Code can only contain alphanumeric, dash and underscore parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 partner_user_id_invalid_length: summary: partner_user_id_invalid_length value: code: partner_user_id_invalid_length http_status_code: 400 message: Partner user id length greater than 255 characters parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 label_name_out_of_range: summary: label_name_out_of_range value: code: label_name_out_of_range http_status_code: 400 message: Label name is not of valid length parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 client_params_name_length_out_of_range: summary: client_params_name_length_out_of_range value: code: client_params_name_length_out_of_range http_status_code: 403 message: The name supplied is too long parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 SHAREABLE_NOT_FOUND: summary: SHAREABLE_NOT_FOUND value: code: SHAREABLE_NOT_FOUND http_status_code: 403 message: Shareable Not Found. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 extole_destination_length_out_of_range: summary: extole_destination_length_out_of_range value: code: extole_destination_length_out_of_range http_status_code: 400 message: Extole destination length is out of range. Max 2000 chars parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 RECIPIENTS_MISSING: summary: RECIPIENTS_MISSING value: code: RECIPIENTS_MISSING http_status_code: 400 message: Share recipient is missing. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 address_validation: summary: address_validation value: code: address_validation http_status_code: 400 message: Failed to validate address. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 asset_not_found: summary: asset_not_found value: code: asset_not_found http_status_code: 400 message: Asset not found parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_TARGET_URL: summary: INVALID_TARGET_URL value: code: INVALID_TARGET_URL http_status_code: 400 message: Invalid target URL. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 person_email_already_defined: summary: person_email_already_defined value: code: person_email_already_defined http_status_code: 400 message: Person email already defined parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 asset_limit_exceeded: summary: asset_limit_exceeded value: code: asset_limit_exceeded http_status_code: 400 message: The number of assets exceeds the limit parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_shareable_id: summary: invalid_shareable_id value: code: invalid_shareable_id http_status_code: 400 message: Invalid shareable id parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_SHAREABLE_ID: summary: INVALID_SHAREABLE_ID value: code: INVALID_SHAREABLE_ID http_status_code: 400 message: ShareableId not valid in the share request. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 missing_request_body: summary: missing_request_body value: code: missing_request_body http_status_code: 400 message: Missing request body parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_IMAGE_URL: summary: INVALID_IMAGE_URL value: code: INVALID_IMAGE_URL http_status_code: 400 message: Invalid image URL. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 EXISTING_LINK: summary: EXISTING_LINK value: code: EXISTING_LINK http_status_code: 400 message: Link already exists. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 target_url_length_out_of_range: summary: target_url_length_out_of_range value: code: target_url_length_out_of_range http_status_code: 403 message: Target URL length is out of range. Max 2000 chars parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 client_params_value_length_out_of_range: summary: client_params_value_length_out_of_range value: code: client_params_value_length_out_of_range http_status_code: 403 message: The value supplied is too long parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 RECEIPIENT_JSON_CONVERSION_ERROR: summary: RECEIPIENT_JSON_CONVERSION_ERROR value: code: RECEIPIENT_JSON_CONVERSION_ERROR http_status_code: 400 message: Error occurred when converting recipient list to JSON parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 NON_EXISTING_LINK: summary: NON_EXISTING_LINK value: code: NON_EXISTING_LINK http_status_code: 400 message: Link doesn't exist for update. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 data_attribute_name_invalid: summary: data_attribute_name_invalid value: code: data_attribute_name_invalid http_status_code: 403 message: Shareable data attribute name is invalid parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_PARTNER_CONTENT_URL: summary: INVALID_PARTNER_CONTENT_URL value: code: INVALID_PARTNER_CONTENT_URL http_status_code: 400 message: Invalid partner content URL. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 data_attribute_name_length_out_of_range: summary: data_attribute_name_length_out_of_range value: code: data_attribute_name_length_out_of_range http_status_code: 403 message: Shareable data attribute name length is out of range. Max 200 chars parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 SHARE_NOT_FOUND: summary: SHARE_NOT_FOUND value: code: SHARE_NOT_FOUND http_status_code: 403 message: Share not found. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 NOT_FOUND: summary: NOT_FOUND value: code: NOT_FOUND http_status_code: 403 message: Shareable Not Found. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 INVALID_RECIPIENT: summary: INVALID_RECIPIENT value: code: INVALID_RECIPIENT http_status_code: 400 message: Recipient has a wrong syntax. parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 invalid_profile_picture_url: summary: invalid_profile_picture_url value: code: invalid_profile_picture_url http_status_code: 400 message: Malformed profile_picture_url parameters: {} unique_id: 00000000-0000-0000-0000-000000000000 schemas: ContentDisposition: properties: creationDate: format: date-time type: string fileName: type: string modificationDate: format: date-time type: string parameters: additionalProperties: type: string type: object readDate: format: date-time type: string size: format: int64 type: integer type: type: string type: object PublicShareResponse: properties: campaign_id: type: string channel: nullable: true type: string id: readOnly: true type: string link: nullable: true type: string partner_id: $ref: '#/components/schemas/PartnerEventIdResponse' share_date: type: string share_id: type: string shareable_id: nullable: true type: string required: - campaign_id - channel - id - link - partner_id - share_date - share_id - shareable_id type: object UpdateProfileResponse: properties: polling_id: type: string status: enum: - FAILED - PENDING - SUCCEEDED type: string required: - polling_id - status type: object FormDataContentDisposition: properties: creationDate: format: date-time type: string fileName: type: string modificationDate: format: date-time type: string name: type: string parameters: additionalProperties: type: string type: object readDate: format: date-time type: string size: format: int64 type: integer type: type: string type: object JourneyResponse: properties: campaign_id: type: string container: type: string created_date: type: string data: additionalProperties: type: object type: object entry_advocate_code: nullable: true type: string entry_advocate_partner_id: nullable: true type: string entry_consumer_event_id: nullable: true type: string entry_coupon_code: nullable: true type: string entry_label: type: string entry_profile_id: nullable: true type: string entry_promotable_code: nullable: true type: string entry_reason: type: string entry_referral_reason: nullable: true type: string entry_share_id: nullable: true type: string entry_shareable_id: nullable: true type: string entry_zone: type: string id: readOnly: true type: string journey_type: type: string last_advocate_code: nullable: true type: string last_advocate_partner_id: nullable: true type: string last_consumer_event_id: nullable: true type: string last_coupon_code: nullable: true type: string last_profile_id: nullable: true type: string last_promotable_code: nullable: true type: string last_referral_reason: nullable: true type: string last_share_id: nullable: true type: string last_shareable_id: nullable: true type: string last_zone: type: string updated_date: type: string required: - campaign_id - container - created_date - data - entry_advocate_code - entry_advocate_partner_id - entry_consumer_event_id - entry_coupon_code - entry_label - entry_profile_id - entry_promotable_code - entry_reason - entry_referral_reason - entry_share_id - entry_shareable_id - entry_zone - id - journey_type - last_advocate_code - last_advocate_partner_id - last_consumer_event_id - last_coupon_code - last_profile_id - last_promotable_code - last_referral_reason - last_share_id - last_shareable_id - last_zone - updated_date type: object VerificationEmailResponse: properties: polling_id: type: string status: enum: - FAILED - PENDING - SUCCEEDED nullable: true type: string required: - polling_id - status type: object BatchEmailShareV5Request: properties: advocate_code: type: string data: additionalProperties: type: string nullable: true type: object message: type: string recipient_emails: items: type: string type: array subject: nullable: true type: string required: - advocate_code - data - message - recipient_emails - subject type: object CustomShareResponse: properties: polling_id: type: string share_id: type: string required: - polling_id - share_id type: object ShareableContent: nullable: true properties: description: nullable: true type: string image_url: nullable: true type: string partner_content_id: nullable: true type: string title: nullable: true type: string url: nullable: true type: string type: object QualityResults: properties: quality_rule_results: items: $ref: '#/components/schemas/QualityRuleResult' type: array score: enum: - ERROR - HIGH - LOW type: string type: object PublicPersonStepResponse: properties: campaign_id: nullable: true type: string data: additionalProperties: type: object type: object event_date: type: string journey_name: nullable: true type: string program_label: nullable: true type: string step_name: type: string required: - campaign_id - data - event_date - journey_name - program_label - step_name type: object AddressValidationRequest: properties: address_lines: items: type: string type: array region_code: type: string required: - address_lines - region_code type: object RelationshipResponse: properties: container: type: string person: $ref: '#/components/schemas/PublicPersonResponse' reason: type: string shareable_id: nullable: true type: string updated_at: type: string required: - container - person - reason - shareable_id - updated_at type: object EventShareResponse: properties: polling_id: type: string share_id: type: string required: - polling_id - share_id type: object MessageBodyWorkers: type: object AddressValidationResponse: properties: address: $ref: '#/components/schemas/Address' verdict: $ref: '#/components/schemas/Verdict' required: - address - verdict type: object CreateMeShareableV4Request: properties: code: nullable: true type: string content: $ref: '#/components/schemas/ShareableV4Content' data: additionalProperties: type: string nullable: true type: object key: nullable: true type: string label: nullable: true type: string target_url: type: string required: - code - content - data - key - label - target_url type: object QualityRuleResult: properties: rule_name: type: string score: enum: - ERROR - HIGH - LOW type: string type: object Verdict: properties: geocode_granularity: type: string has_unconfirmed_components: type: boolean input_granularity: type: string validation_granularity: type: string type: object StepResponse: properties: name: type: string type: object MyProfileResponse: properties: cookie_consent: description: Cookie consent string currently stored on the consumer's profile. type: string cookie_consent_type: description: Source that set the current cookie consent value. enum: - CLIENT - EXTOLE - UNSET type: string email: description: Email address on file for the consumer. type: string first_name: description: First name of the consumer. type: string id: description: Extole-assigned unique identifier for this consumer. readOnly: true type: string last_name: description: Last name of the consumer. type: string locale: description: BCP 47 locale tag for the consumer. Null when not set. nullable: true type: string parameters: additionalProperties: description: Open key-value map of custom attributes stored on the consumer's profile. type: object description: Open key-value map of custom attributes stored on the consumer's profile. type: object partner_user_id: description: Partner-assigned unique identifier for the consumer in the partner's system. type: string processing_consent: description: Data processing consent string currently stored on the consumer's profile. type: string processing_consent_type: description: Source that set the current data processing consent value. enum: - CLIENT - EXTOLE - UNSET type: string profile_picture_url: description: URL of the consumer's profile picture. type: string required: - cookie_consent - cookie_consent_type - email - first_name - id - last_name - locale - parameters - partner_user_id - processing_consent - processing_consent_type - profile_picture_url type: object CustomShareRequest: properties: advocate_code: type: string channel: type: string data: additionalProperties: type: string type: object message: type: string recipient_email: type: string required: - advocate_code - channel - data - message - recipient_email type: object EditMeShareableV4Request: properties: content: $ref: '#/components/schemas/ShareableV4Content' data: additionalProperties: type: string nullable: true type: object key: nullable: true type: string label: nullable: true type: string target_url: nullable: true type: string required: - content - data - key - label - target_url type: object CreateMeShareableRequest: properties: content: $ref: '#/components/schemas/ShareableContent' data: additionalProperties: type: string nullable: true type: object key: nullable: true type: string label: type: string preferred_code_prefixes: items: type: string nullable: true type: array required: - content - data - key - label - preferred_code_prefixes type: object ShareResponse: properties: campaign_id: type: string channel: nullable: true type: string data: additionalProperties: type: string type: object friend: $ref: '#/components/schemas/PublicPersonResponse' id: readOnly: true type: string link: nullable: true type: string message: nullable: true type: string partner_id: $ref: '#/components/schemas/PartnerEventIdResponse' recipient_email: nullable: true type: string recipients: items: type: string type: array share_date: type: string share_id: type: string shareable_id: nullable: true type: string subject: nullable: true type: string required: - campaign_id - channel - data - friend - id - link - message - partner_id - recipient_email - recipients - share_date - share_id - shareable_id - subject type: object Providers: type: object PersonShareableV4Response: properties: code: type: string content: $ref: '#/components/schemas/PersonShareableContentV4Response' data: additionalProperties: type: string type: object key: type: string label: nullable: true type: string link: type: string person_id: type: string required: - code - content - data - key - label - link - person_id type: object CreateShareableV4Request: properties: access_token: nullable: true type: string writeOnly: true code: nullable: true type: string content: $ref: '#/components/schemas/ShareableV4Content' key: nullable: true type: string label: nullable: true type: string target_url: type: string required: - code - content - key - label - target_url type: object MeShareableV4Response: properties: code: type: string content: $ref: '#/components/schemas/ShareableV4Content' data: additionalProperties: type: string nullable: true type: object key: type: string label: nullable: true type: string link: type: string shareable_id: type: string required: - code - content - data - key - label - link - shareable_id type: object CustomSharePollingResponse: properties: error: $ref: '#/components/schemas/RestExceptionResponse' polling_id: type: string share_id: nullable: true type: string status: enum: - FAILED - PENDING - SUCCEEDED type: string required: - error - polling_id - share_id - status type: object EmailShareV5Response: properties: polling_id: type: string recipient_email: type: string required: - polling_id - recipient_email type: object SuccessResponse: properties: status: type: string required: - status type: object ShareableCreateV4Error: nullable: true properties: code: type: string http_status_code: format: int32 type: integer message: type: string parameters: additionalProperties: type: object type: object unique_id: type: string type: object BodyPart: properties: contentDisposition: $ref: '#/components/schemas/ContentDisposition' entity: type: object headers: additionalProperties: items: type: string type: array properties: empty: type: boolean type: object mediaType: $ref: '#/components/schemas/MediaType' messageBodyWorkers: $ref: '#/components/schemas/MessageBodyWorkers' parameterizedHeaders: additionalProperties: items: $ref: '#/components/schemas/ParameterizedHeader' type: array properties: empty: type: boolean type: object parent: $ref: '#/components/schemas/MultiPart' providers: $ref: '#/components/schemas/Providers' type: object EventSharePollingResponse: properties: error: $ref: '#/components/schemas/RestExceptionResponse' polling_id: type: string share_id: nullable: true type: string status: enum: - FAILED - PENDING - SUCCEEDED type: string required: - error - polling_id - share_id - status type: object Address: properties: address_components: items: $ref: '#/components/schemas/AddressComponent' type: array formatted_address: type: string missing_component_types: items: type: string type: array postal_address: $ref: '#/components/schemas/PostalAddress' unconfirmed_component_types: items: type: string type: array type: object EventShareRequest: properties: campaign_id: type: string consumer_event: $ref: '#/components/schemas/ConsumerEventRequest' data: additionalProperties: type: string type: object message: type: string recipient_email: type: string shareable_id: type: string required: - campaign_id - consumer_event - data - message - recipient_email - shareable_id type: object PersonProfileUpdateRequest: description: Body of a `POST /v4/me` request. properties: access_token: type: string email: type: string first_name: type: string last_name: type: string partner_user_id: type: string profile_picture_url: type: string required: - access_token - email - first_name - last_name - partner_user_id - profile_picture_url type: object JourneyKey: properties: name: type: string value: type: string type: object ParameterizedHeader: properties: parameters: additionalProperties: type: string type: object value: type: string type: object ShareableCreateV4PollingResponse: properties: error: $ref: '#/components/schemas/ShareableCreateV4Error' polling_id: type: string shareable_id: nullable: true type: string status: enum: - FAILED - PENDING - SUCCEEDED nullable: true type: string required: - error - polling_id - shareable_id - status type: object RewardResponse: properties: action_id: description: Extole action id associated with this reward. type: string campaign_id: description: Extole campaign id associated with this reward. type: string cause_event_id: description: Id of the direct cause event that triggered this reward. type: string container: description: Campaign container the reward belongs to. type: string created_at: $ref: '#/components/schemas/ZonedDateTime' data: additionalProperties: description: Named data parameters attached to this reward. type: string description: Named data parameters attached to this reward. type: object email: description: Email address of the reward recipient. Null if not available. nullable: true type: string expires_at: $ref: '#/components/schemas/ZonedDateTime' face_value: description: Monetary or point face value of the reward. type: number face_value_type: description: Unit type of the face value (e.g. `CASH`, `POINTS`, `PERCENT`). enum: - AUD - BRL - CAD - CNY - EUR - GBP - HKD - INR - JPY - KRW - MONTH - MXN - NZD - PERCENT_OFF - POINTS - TRY - TWD - USD type: string journey_key: $ref: '#/components/schemas/JourneyKey' journey_name: description: Name of the journey associated with this reward. type: string partner_reward_id: description: Partner-assigned identifier for this reward. Null if not yet assigned. nullable: true type: string partner_reward_key_type: description: Type of key used to identify the reward at the partner's system. enum: - COUPON - ID - LINK type: string partner_reward_supplier_id: description: Partner-assigned identifier for the reward supplier. Null if not provided. nullable: true type: string partner_user_id: description: Partner's identifier for the person. Null if not provided. nullable: true type: string person_id: description: Extole person id of the reward recipient. type: string reward_id: description: Extole-assigned unique identifier for this reward. type: string reward_supplier_id: description: Extole reward supplier id that issued this reward. type: string root_event_id: description: Id of the root event that initiated the chain leading to this reward. type: string sandbox: description: Sandbox identifier for this reward. type: string state: description: Current lifecycle state of the reward. enum: - CANCELED - EARNED - FAILED - FULFILLED - REDEEMED - REVOKED - SENT type: string required: - action_id - campaign_id - cause_event_id - container - created_at - data - email - expires_at - face_value - face_value_type - journey_key - journey_name - partner_reward_id - partner_reward_key_type - partner_reward_supplier_id - partner_user_id - person_id - reward_id - reward_supplier_id - root_event_id - sandbox - state type: object FriendEvent: properties: campaign_id: type: string email: type: string event_date: type: string step_name: type: string type: object CreateShareableV4Response: properties: polling_id: type: string shareable_code: type: string shareable_domain: type: string shareable_id: type: string shareable_program_id: type: string required: - polling_id - shareable_code - shareable_domain - shareable_id - shareable_program_id type: object PartnerEventIdResponse: nullable: true properties: name: description: Name of the partner event identifier (e.g. `order_id`). type: string value: description: Value of the partner event identifier. type: string type: object ConsumerEventRequest: nullable: true properties: campaign_id: nullable: true type: string channel: nullable: true type: string origin_event_id: format: int64 nullable: true type: integer parameters: additionalProperties: type: string nullable: true type: object product_id: nullable: true type: string recipient_emails: items: type: string nullable: true type: array site_host_id: nullable: true type: string source: nullable: true type: string source_url: nullable: true type: string via_zone: nullable: true type: string zone_name: nullable: true type: string required: - channel type: object ZonedDateTime: description: '[RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) or [RFC 9557](https://datatracker.ietf.org/doc/html/rfc9557#section-4) date-time with a numeric [UTC offset](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and an optional [IANA time-zone](https://datatracker.ietf.org/doc/html/rfc9557#section-4) suffix in square brackets. Precision up to milliseconds.' example: '2025-10-24T02:00:00-07:00' pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])(\[[^\]]+\])?$ type: string RestExceptionResponse: description: Represents the API error response properties: code: description: Specific error code for this error type, documented per endpoint type: string http_status_code: description: HTTP status code that was returned with this error, useful if client get response code format: int32 type: integer message: description: User readable English description of the error type: string parameters: additionalProperties: description: Attributes related to the error, varies be error code, documented per endpoint type: object description: Attributes related to the error, varies be error code, documented per endpoint type: object unique_id: description: Unique id associated with this error, useful for discussions with Extole type: string required: - code - http_status_code - message - parameters - unique_id type: object MultiPart: properties: bodyParts: items: $ref: '#/components/schemas/BodyPart' type: array contentDisposition: $ref: '#/components/schemas/ContentDisposition' entity: type: object headers: additionalProperties: items: type: string type: array properties: empty: type: boolean type: object mediaType: $ref: '#/components/schemas/MediaType' messageBodyWorkers: $ref: '#/components/schemas/MessageBodyWorkers' parameterizedHeaders: additionalProperties: items: $ref: '#/components/schemas/ParameterizedHeader' type: array properties: empty: type: boolean type: object parent: $ref: '#/components/schemas/MultiPart' providers: $ref: '#/components/schemas/Providers' type: object AssetResponse: properties: data_type: enum: - PRIVATE - PUBLIC type: string filename: type: string id: readOnly: true type: string mime_type: type: string name: type: string status: enum: - APPROVED - DENIED - PENDING_REVIEW type: string tags: items: type: string type: array required: - data_type - filename - id - mime_type - name - status - tags type: object MeDataUpdateRequest: description: Body of a `PUT /v4/me/parameters/{parameter_name}` request. properties: type: enum: - CLIENT - PRIVATE - PUBLIC nullable: true type: string value: type: object required: - type - value type: object AudienceMembershipResponse: properties: audience_id: type: string created_date: $ref: '#/components/schemas/ZonedDateTime' updated_date: $ref: '#/components/schemas/ZonedDateTime' required: - audience_id - created_date - updated_date type: object PollingRewardResponse: properties: quality_results: description: Quality evaluation results associated with this reward redemption. items: $ref: '#/components/schemas/QualityResults' type: array reward: $ref: '#/components/schemas/RewardResponse' status: description: Current processing status of the reward redemption (`PENDING`, `SUCCEEDED`, or `FAILED`). enum: - FAILED - PENDING - SUCCEEDED type: string required: - quality_results - reward - status type: object CreateMeShareableV4Response: properties: polling_id: type: string required: - polling_id type: object AssetRequest: properties: data_type: enum: - PRIVATE - PUBLIC nullable: true type: string name: nullable: true type: string tags: items: type: string nullable: true type: array required: - data_type - name - tags type: object VerificationEmailRequest: properties: campaign_id: nullable: true type: string required: - campaign_id type: object PostalAddress: properties: address_lines: items: type: string type: array language_code: type: string region_code: type: string type: object MediaType: properties: parameters: additionalProperties: type: string type: object subtype: type: string type: type: string wildcardSubtype: type: boolean wildcardType: type: boolean type: object AddressComponent: properties: component_name: $ref: '#/components/schemas/ComponentName' component_type: type: string confirmation_level: type: string inferred: type: boolean replaced: type: boolean spell_corrected: type: boolean type: object ComponentName: properties: language_code: type: string text: type: string type: object MeShareableResponse: properties: code: type: string content: $ref: '#/components/schemas/ShareableContent' data: additionalProperties: type: string nullable: true type: object key: type: string label: nullable: true type: string link: type: string required: - code - content - data - key - label - link type: object GetShareableV4Response: properties: code: type: string content: $ref: '#/components/schemas/ShareableV4Content' data: additionalProperties: type: string nullable: true type: object key: type: string label: nullable: true type: string link: type: string person_id: type: string shareable_id: type: string required: - code - content - data - key - label - link - person_id - shareable_id type: object PersonShareableContentV4Response: nullable: true properties: description: nullable: true type: string image_url: nullable: true type: string partner_content_id: nullable: true type: string title: nullable: true type: string url: nullable: true type: string type: object MeDataBulkUpdateRequest: description: Body of a `POST /v4/me/parameters` request. properties: parameters: additionalProperties: type: object type: object type: enum: - CLIENT - PRIVATE - PUBLIC type: string required: - parameters - type type: object OptoutResponse: properties: email: type: string optout: type: boolean required: - email - optout type: object OptoutRequest: properties: list_name: nullable: true type: string list_type: nullable: true type: string optout: type: boolean source: nullable: true type: string type: enum: - ADVOCATE - FRIEND nullable: true type: string required: - list_name - list_type - optout - source - type type: object PublicPersonResponse: properties: first_name: type: string id: readOnly: true type: string image_url: type: string parameters: additionalProperties: type: object type: object required: - first_name - id - image_url - parameters type: object ShareableV4Content: properties: description: nullable: true type: string image_url: nullable: true type: string partner_content_id: nullable: true type: string title: nullable: true type: string url: nullable: true type: string type: object FormDataBodyPart: properties: content: type: object contentDisposition: $ref: '#/components/schemas/ContentDisposition' entity: type: object fileName: type: string formDataContentDisposition: $ref: '#/components/schemas/FormDataContentDisposition' headers: additionalProperties: items: type: string type: array properties: empty: type: boolean type: object mediaType: $ref: '#/components/schemas/MediaType' messageBodyWorkers: $ref: '#/components/schemas/MessageBodyWorkers' name: type: string parameterizedHeaders: additionalProperties: items: $ref: '#/components/schemas/ParameterizedHeader' type: array properties: empty: type: boolean type: object parent: $ref: '#/components/schemas/MultiPart' providers: $ref: '#/components/schemas/Providers' simple: type: boolean value: type: string type: object FriendProfileResponse: properties: events: items: $ref: '#/components/schemas/FriendEvent' type: array first_name: type: string id: readOnly: true type: string image_url: type: string required: - events - first_name - id - image_url type: object securitySchemes: COOKIE: in: cookie name: extole_token type: apiKey HEADER: in: header name: Authorization type: apiKey x-bearer-format: bearer QUERY: in: query name: access_token type: apiKey x-tagGroups: - name: Integration API - Consumer to Extole tags: - Authentication - Content - Email - Events - Persons - Profile Assets - Profiles