openapi: 3.2.0 info: title: AJO Customer Loyalty Challenge State Challenge Controller API description: APIs for managing AJO Customer Loyalty Challenge State.

**Related documentation:** See [Loyalty challenges](https://experienceleague.adobe.com/docs/journey-optimizer/using/loyalty-challenges/get-started.html) in Journey Optimizer documentation.

**Required headers:** All calls require the headers Authorization, x-gw-ims-org-id, and x-api-key. For more information, see the [authentication tutorial](https://developer.adobe.com/journey-optimizer-apis/references/authentication). contact: url: http://adobe.com version: 1.1.0 servers: - url: http://localhost:8080 description: Local - url: https://platform-stage-va7.adobe.io/ajo/ description: Stage - url: https://platform-va7.adobe.io/ajo/ description: Prod tags: - name: challenge-controller paths: /loyalty/challenges/{profileId}/withdraw: post: tags: - challenge-controller operationId: bulkWithdraw parameters: - name: x-request-id in: header required: false schema: type: string - name: x-api-key in: header required: true schema: type: string - name: x-gw-ims-org-id in: header required: true schema: type: string - name: x-sandbox-name in: header required: true schema: type: string - name: Authorization in: header required: false schema: type: string - name: profileId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkWithdraw' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BulkWithdrawResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '409': description: Resource conflict content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '422': description: Unprocessable content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' /loyalty/challenges/state: post: tags: - challenge-controller operationId: activeChallengeStateByProfileWithPayload parameters: - name: x-request-id in: header required: false schema: type: string - name: x-api-key in: header required: true schema: type: string - name: x-gw-ims-org-id in: header required: true schema: type: string - name: x-sandbox-name in: header required: true schema: type: string - name: test in: query description: True if running the challenge as a test required: false schema: type: boolean default: false - name: v in: query description: Version of the response required: false schema: type: string default: 2 - name: pid in: query description: Profile Id of the Loyalty guest required: true schema: type: string requestBody: content: application/json: schema: uniqueItems: true type: array items: type: string required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/JsonNode' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '409': description: Resource conflict content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '422': description: Unprocessable content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' /loyalty/challenges/signup: post: tags: - challenge-controller operationId: bulkSignup parameters: - name: x-request-id in: header required: false schema: type: string - name: x-api-key in: header required: true schema: type: string - name: x-gw-ims-org-id in: header required: true schema: type: string - name: x-sandbox-name in: header required: true schema: type: string - name: Authorization in: header required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkSignup' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BulkSignupResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '409': description: Resource conflict content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '422': description: Unprocessable content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/CustomProblemDetail' components: schemas: BulkWithdraw: type: object properties: idList: uniqueItems: true type: array items: type: string BulkSignupResult: type: object properties: challengeId: type: string status: type: integer format: int32 title: type: string error_code: type: string message: type: string BulkWithdrawResponse: type: object properties: withdrawResponse: type: array items: $ref: '#/components/schemas/BulkSignupResult' BulkSignupResponse: type: object properties: signupResponse: type: array items: $ref: '#/components/schemas/BulkSignupResult' BulkSignup: type: object properties: profileId: type: string idList: uniqueItems: true type: array items: type: string JsonNode: type: object CustomProblemDetail: type: object properties: error_code: type: string message: type: string title: type: string status: type: integer format: int32 instance: type: string format: uri method: type: string time: type: string requestId: type: string