---
title: "Achieve Social Campaign"
method: POST
path: "/api/v4.0/integrations/customers/social-challenges"
---

# Achieve Social Campaign

`POST /api/v4.0/integrations/customers/social-challenges`

Mark a social campaign as achieved for a customer and grant the configured reward from your backend. This is the server-to-server equivalent of the in-widget social action for Social Activities campaigns.

## Request body

- object
  - `customerId` string, required — The customer's unique ID in your system. The customer must already exist in Gameball.
  - `challengeId` integer, required — The ID of the Social Activities campaign to award.
  - `email` string — Customer's email address. Helps identify the customer when channel merging is enabled.
  - `mobile` string — Customer's mobile number. Helps identify the customer when channel merging is enabled.

## Response `202`

Social challenge achievement accepted for processing

- object
  - `customerId` string — The customer ID from the request.
  - `challengeId` integer — The social campaign ID from the request.
  - `gameballStatus` string — Present when the Gameball program is disabled. Omitted while Gameball is enabled.
  - `message` string — Informational message when the Gameball program is disabled.
  - `learnMore` string — Link to learn more when the Gameball program is disabled.

## Other responses

- `400` — Invalid request (missing fields, duplicate submission, etc.)
- `401` — Missing or invalid secret key
- `404` — Customer does not exist
- `500` — Unexpected server error

---

[API](https://skmtc.net/gameballers/apis/gameball-api.md) · [All operations](https://skmtc.net/gameballers/apis/gameball-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gameballers/gameball-api/versions/2e4a8bfe2291/schema)
