# Models

## The ComplianceContent object

```json
{"openapi":"3.1.0","info":{"title":"Agency API — Compliance Content","version":"3.0"},"components":{"schemas":{"ComplianceContent":{"type":"object","description":"A single content item submitted for compliance monitoring.","required":["AdvertiserId","CampaignId","Url","Type","Reason","Source"],"properties":{"AdvertiserId":{"type":"integer","description":"The unique numeric identifier of the advertiser account that owns the program this content is associated with."},"CampaignId":{"type":"integer","description":"The unique numeric identifier of the program (campaign) this content is part of."},"Url":{"type":"string","format":"uri","description":"The full URL of the content page being submitted for review."},"Type":{"type":"string","description":"The type of compliance content being submitted. Only `PAGE` is currently supported.","enum":["PAGE"]},"Reason":{"type":"string","description":"A free-text description of why this content is being submitted for compliance review. Useful for audit trails."},"Source":{"type":"string","description":"The source system submitting the content. Only `CONTENT_API` is currently supported.","enum":["CONTENT_API"]},"PartnerId":{"type":"integer","description":"The numeric ID of the partner publishing the content. **Required** if the program has \"Partner ID Required\" enabled in its compliance settings."},"ContentLabels":{"type":"string","description":"A comma-separated list of labels for categorizing the content (e.g., `\"product-review,paid\"`). Free-form values defined by the agency."},"Products":{"type":"string","description":"A comma-separated list of product SKUs that this content refers to."},"Keywords":{"type":"array","description":"Keywords associated with the content. Each keyword has its own approval status and monitoring function — useful for tracking compliance against specific terms.","items":{"$ref":"#/components/schemas/Keyword"}},"Language":{"type":"string","description":"The language of the content as an ISO 639-1 two-letter code (e.g., `en`, `fr`, `es`)."},"PaidLink":{"type":"boolean","description":"Whether this content is a paid (sponsored) link. Defaults to `false`."},"Monitored":{"type":"boolean","description":"Whether to enroll this content in impact.com's ongoing Compliance Monitoring service. Defaults to `false`."},"Cadence":{"type":"boolean","description":"Whether to apply cadence rules (re-checking on a schedule) to this content within Compliance Monitoring. Only effective when `Monitored` is `true`."}}},"Keyword":{"type":"object","description":"A keyword tracked against a content submission.","required":["Name","Status","Function"],"properties":{"Name":{"type":"string","description":"The keyword text to track within the content."},"Status":{"type":"string","description":"The approval status of this keyword for the content.\n\n| Value | Description |\n|---|---|\n| `APPROVED` | The keyword is approved for use in this content. |\n| `NOT_APPROVED` | The keyword is not approved for use in this content. |","enum":["APPROVED","NOT_APPROVED"]},"Function":{"type":"string","description":"The monitoring function applied to this keyword.\n\n| Value | Description |\n|---|---|\n| `MONITORED` | Monitor the keyword for compliance violations. |\n| `NOT_MONITORED` | Do not monitor the keyword. |\n| `CHANGE_DETECTION` | Trigger an alert when the keyword is added or removed. |\n| `DISCOVERY` | Discover and report new instances of the keyword across content. |","enum":["MONITORED","NOT_MONITORED","CHANGE_DETECTION","DISCOVERY"]}}}}}}
```

## The Keyword object

```json
{"openapi":"3.1.0","info":{"title":"Agency API — Compliance Content","version":"3.0"},"components":{"schemas":{"Keyword":{"type":"object","description":"A keyword tracked against a content submission.","required":["Name","Status","Function"],"properties":{"Name":{"type":"string","description":"The keyword text to track within the content."},"Status":{"type":"string","description":"The approval status of this keyword for the content.\n\n| Value | Description |\n|---|---|\n| `APPROVED` | The keyword is approved for use in this content. |\n| `NOT_APPROVED` | The keyword is not approved for use in this content. |","enum":["APPROVED","NOT_APPROVED"]},"Function":{"type":"string","description":"The monitoring function applied to this keyword.\n\n| Value | Description |\n|---|---|\n| `MONITORED` | Monitor the keyword for compliance violations. |\n| `NOT_MONITORED` | Do not monitor the keyword. |\n| `CHANGE_DETECTION` | Trigger an alert when the keyword is added or removed. |\n| `DISCOVERY` | Discover and report new instances of the keyword across content. |","enum":["MONITORED","NOT_MONITORED","CHANGE_DETECTION","DISCOVERY"]}}}}}}
```

## The SubmissionStatus object

```json
{"openapi":"3.1.0","info":{"title":"Agency API — Compliance Content","version":"3.0"},"components":{"schemas":{"SubmissionStatus":{"type":"object","description":"The processing status of a compliance content submission job.","properties":{"JobId":{"type":"string","description":"The unique identifier of the submission job. Matches the `Id` path parameter."},"Status":{"type":"string","description":"The current processing status of the job.\n\n| Value | Description |\n|---|---|\n| `QUEUED` | The submission has been received and is awaiting processing. |\n| `RUNNING` | The submission is being processed. |\n| `COMPLETED` | Processing has finished — per-item results can be retrieved. |","enum":["QUEUED","RUNNING","COMPLETED"]},"Source":{"type":"string","description":"The source system that submitted the content. Only `CONTENT_API` is currently supported.","enum":["CONTENT_API"]},"Type":{"type":"string","description":"The type of compliance content in this submission. Only `PAGE` is currently supported.","enum":["PAGE"]},"StartDate":{"type":"string","format":"date-time","description":"The date and time the job started processing, in ISO 8601 format."},"EndDate":{"type":"string","format":"date-time","description":"The date and time the job finished processing, in ISO 8601 format. Empty until the job reaches `COMPLETED`."},"Success":{"type":"integer","description":"The count of content items in the submission that were processed successfully."},"PartialSuccess":{"type":"integer","description":"The count of content items that were processed but reported warnings or non-fatal issues."},"Error":{"type":"integer","description":"The count of content items that failed processing."},"ResponseUri":{"type":"string","description":"The relative URI from which the full per-item results can be retrieved. Available once `Status` is `COMPLETED`."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/agency-v3/reference/compliance/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
