> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Campaign.validateCode

Checks if a Coupon or Promotion Code may be used.

## Input

*srd*: sparse response description, a SOAP string (which must be a JSON object), in which you specify the elements you want returned.This parameter enables the calling system to constrain a `method` call to return only components you specify. This gives you greater control over returned content, and improves response time within the Vindicia platform by reducing the processing needed for the call.

Some fields are required, either practically or in the WSDL, and will be returned regardless of the *srd*. A null *srd* returns the complete response.

*code*: the `CampaignCode` to be validated.

*activateCodeNow*: a Boolean flag which, if `true`, activates the code as soon as it has been validated. If `false` or omitted, an inactive `CampaignCode` will remain inactive.

## Output

*return*: an object of type `Return` that indicates the success or failure of the call.

*valid*: a Boolean flag which indicates whether or not the Code is valid.

## Returns

In addition to those listed in [The Return Object](The_Return_Object), this call returns:

| Return Code | Return String |
| - | - |
| `400` | One of the following: - `Code *input-code* doesn't represent a CouponCode.` - `Code *input-code* can't be activated: *error-description*.` - `Code *input-code* is not redeemable: *error-description*.` |

## Example

```

$camp = new Campaign();
$response = $camp->validateCode(
   'promo123', // the campaign code
   true // activate now
);
// check $response
```

**Parent topic:**[Campaign Methods](../topics/Campaign_Methods)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.