# Models

## The AcceptContractRequest object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"AcceptContractRequest":{"type":"object","required":["contractId"],"properties":{"contractId":{"type":"string","description":"The unique identifier of the pending contract to accept."},"groupId":{"type":"string","description":"The unique identifier of the partner group to which the accepted partner will be added. Provide multiple IDs as a comma-separated string if adding to more than one group.\n"}}}}}}
```

## The DeclineContractRequest object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"DeclineContractRequest":{"type":"object","required":["contractId"],"properties":{"contractId":{"type":"string","description":"The unique identifier of the pending contract to decline."},"reason":{"type":"string","description":"A human-readable explanation for why the contract proposal was declined."},"groupId":{"type":"string","description":"The unique identifier of the partner group to which the declined partner will be added. Provide multiple IDs as a comma-separated string if adding to more than one group.\n"}}}}}}
```

## The ContractDecisionResponse object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"ContractDecisionResponse":{"type":"object","properties":{"Status":{"type":"string","description":"Indicates whether the decision was successfully recorded.","enum":["OK"]}}}}}}
```

## The Contract object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"Contract":{"type":"object","properties":{"Id":{"type":"string","description":"The unique identifier for the contract."},"PartnerId":{"type":"integer","description":"The unique identifier of the partner the contract is with."},"PartnerValue1":{"type":"string","description":"A custom value associated with the partner."},"Status":{"type":"string","description":"The current status of the contract.","enum":["ACTIVE","EXPIRED"]},"StartDate":{"type":"string","format":"date-time","description":"The date and time the contract becomes active."},"EndDate":{"type":"string","format":"date-time","nullable":true,"description":"The date and time the contract expires. Null for open-ended contracts."},"BrandSignatory":{"type":"string","description":"The name of the brand representative who signed the contract."},"BrandSignatoryDate":{"type":"string","format":"date-time","description":"The date and time the brand signed the contract."},"PartnerSignatory":{"type":"string","description":"The name of the partner representative who signed the contract."},"PartnerSignatoryDate":{"type":"string","format":"date-time","description":"The date and time the partner signed the contract."},"DateCreated":{"type":"string","format":"date-time","description":"The date and time the contract was created."},"DateLastUpdated":{"type":"string","format":"date-time","description":"The date and time the contract was last updated."},"TemplateTerms":{"$ref":"#/components/schemas/TemplateTerms","description":"The template terms underlying this contract."},"ScheduledTerms":{"type":"array","description":"Time-bounded scheduled term overrides for this contract.","items":{"$ref":"#/components/schemas/ScheduledTerm"}},"CampaignTerms":{"type":"array","description":"Additional terms specific to creator, performance, or product boost campaigns.","items":{"$ref":"#/components/schemas/CampaignTerm"}},"HasCampaignTerms":{"type":"boolean","description":"Indicates whether the contract has associated campaign terms."},"PdfUri":{"type":"string","format":"uri-reference","description":"The URI to download the contract as a PDF."},"Uri":{"type":"string","format":"uri-reference","description":"The unique reference to this contract in the impact.com API."}}},"TemplateTerms":{"type":"object","properties":{"TemplateId":{"type":"integer","description":"Unique identifier for the template terms."},"VersionId":{"type":"integer","description":"Version number of the template terms."},"Name":{"type":"string","description":"Display name for the template terms."},"Labels":{"type":"array","description":"Labels assigned to these template terms.","items":{"type":"string"}},"Currency":{"type":"string","description":"Three-letter ISO 4217 currency code for payouts."},"EventPayouts":{"type":"array","description":"Payout configurations per event type.","items":{"$ref":"#/components/schemas/EventPayout"}},"PromotionalTerms":{"type":"array","description":"Additional promotional terms attached to the contract.","items":{"$ref":"#/components/schemas/PromotionalTerm"}}}},"EventPayout":{"type":"object","properties":{"EventTypeId":{"type":"integer","description":"Unique identifier for the event type."},"EventTypeName":{"type":"string","description":"Display name of the event type."},"EventCategory":{"type":"string","description":"Category of the event (e.g., SALE, LEAD, CLICK)."},"DefaultPayout":{"type":"number","format":"decimal","description":"Default flat payout amount for the event."},"DefaultPayoutRate":{"type":"number","format":"decimal","description":"Default percentage payout rate for the event."},"PayoutLevel":{"type":"string","description":"Whether payout is calculated per item, order, click, or call.","enum":["ITEM","ORDER","CLICK","CALL"]},"PayoutGroups":{"type":"array","description":"Conditional payout groups for this event type.","items":{"$ref":"#/components/schemas/PayoutGroup"}}}},"PayoutGroup":{"type":"object","properties":{"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"Rank":{"type":"integer"},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/Rule"}},"Payout":{"type":"number","format":"decimal"},"PayoutRate":{"type":"integer"},"Limits":{"type":"array","items":{"type":"object"}},"Tiers":{"type":"array","items":{"type":"object"}}}},"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}},"PromotionalTerm":{"type":"object","properties":{"TermsName":{"type":"string","description":"The display name of the promotional term."},"TermsType":{"type":"string","description":"Category of promotional term.","enum":["CUSTOM","EMAIL","COPYWRITING","PAID_SEARCH","SEO","TRADEMARK","APPROVAL"]},"TermsContent":{"type":"string","description":"The text content of the promotional term."},"TermsPdfUri":{"type":"string","format":"uri-reference","nullable":true,"description":"The URI to a PDF version of the promotional terms, if available."}}},"ScheduledTerm":{"type":"object","properties":{"Status":{"type":"string","enum":["ACTIVE","PENDING","UPCOMING","DECLINED","EXPIRED"]},"Name":{"type":"string"},"StartDate":{"type":"string","format":"date-time"},"EndDate":{"type":"string","format":"date-time"},"Repeat":{"type":"object","properties":{"Days":{"type":"array","items":{"type":"string","format":"date"}},"StartTime":{"type":"string","format":"time"},"EndTime":{"type":"string","format":"time"}}},"EventPayouts":{"type":"array","items":{"$ref":"#/components/schemas/EventPayout"}}}},"CampaignTerm":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"StartDate":{"type":"string","format":"date-time"},"EndDate":{"type":"string","format":"date-time"},"EventPayouts":{"type":"array","items":{"$ref":"#/components/schemas/EventPayout"}}}}}}}
```

## The TemplateTerms object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"TemplateTerms":{"type":"object","properties":{"TemplateId":{"type":"integer","description":"Unique identifier for the template terms."},"VersionId":{"type":"integer","description":"Version number of the template terms."},"Name":{"type":"string","description":"Display name for the template terms."},"Labels":{"type":"array","description":"Labels assigned to these template terms.","items":{"type":"string"}},"Currency":{"type":"string","description":"Three-letter ISO 4217 currency code for payouts."},"EventPayouts":{"type":"array","description":"Payout configurations per event type.","items":{"$ref":"#/components/schemas/EventPayout"}},"PromotionalTerms":{"type":"array","description":"Additional promotional terms attached to the contract.","items":{"$ref":"#/components/schemas/PromotionalTerm"}}}},"EventPayout":{"type":"object","properties":{"EventTypeId":{"type":"integer","description":"Unique identifier for the event type."},"EventTypeName":{"type":"string","description":"Display name of the event type."},"EventCategory":{"type":"string","description":"Category of the event (e.g., SALE, LEAD, CLICK)."},"DefaultPayout":{"type":"number","format":"decimal","description":"Default flat payout amount for the event."},"DefaultPayoutRate":{"type":"number","format":"decimal","description":"Default percentage payout rate for the event."},"PayoutLevel":{"type":"string","description":"Whether payout is calculated per item, order, click, or call.","enum":["ITEM","ORDER","CLICK","CALL"]},"PayoutGroups":{"type":"array","description":"Conditional payout groups for this event type.","items":{"$ref":"#/components/schemas/PayoutGroup"}}}},"PayoutGroup":{"type":"object","properties":{"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"Rank":{"type":"integer"},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/Rule"}},"Payout":{"type":"number","format":"decimal"},"PayoutRate":{"type":"integer"},"Limits":{"type":"array","items":{"type":"object"}},"Tiers":{"type":"array","items":{"type":"object"}}}},"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}},"PromotionalTerm":{"type":"object","properties":{"TermsName":{"type":"string","description":"The display name of the promotional term."},"TermsType":{"type":"string","description":"Category of promotional term.","enum":["CUSTOM","EMAIL","COPYWRITING","PAID_SEARCH","SEO","TRADEMARK","APPROVAL"]},"TermsContent":{"type":"string","description":"The text content of the promotional term."},"TermsPdfUri":{"type":"string","format":"uri-reference","nullable":true,"description":"The URI to a PDF version of the promotional terms, if available."}}}}}}
```

## The PromotionalTerm object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"PromotionalTerm":{"type":"object","properties":{"TermsName":{"type":"string","description":"The display name of the promotional term."},"TermsType":{"type":"string","description":"Category of promotional term.","enum":["CUSTOM","EMAIL","COPYWRITING","PAID_SEARCH","SEO","TRADEMARK","APPROVAL"]},"TermsContent":{"type":"string","description":"The text content of the promotional term."},"TermsPdfUri":{"type":"string","format":"uri-reference","nullable":true,"description":"The URI to a PDF version of the promotional terms, if available."}}}}}}
```

## The EventPayout object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"EventPayout":{"type":"object","properties":{"EventTypeId":{"type":"integer","description":"Unique identifier for the event type."},"EventTypeName":{"type":"string","description":"Display name of the event type."},"EventCategory":{"type":"string","description":"Category of the event (e.g., SALE, LEAD, CLICK)."},"DefaultPayout":{"type":"number","format":"decimal","description":"Default flat payout amount for the event."},"DefaultPayoutRate":{"type":"number","format":"decimal","description":"Default percentage payout rate for the event."},"PayoutLevel":{"type":"string","description":"Whether payout is calculated per item, order, click, or call.","enum":["ITEM","ORDER","CLICK","CALL"]},"PayoutGroups":{"type":"array","description":"Conditional payout groups for this event type.","items":{"$ref":"#/components/schemas/PayoutGroup"}}}},"PayoutGroup":{"type":"object","properties":{"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"Rank":{"type":"integer"},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/Rule"}},"Payout":{"type":"number","format":"decimal"},"PayoutRate":{"type":"integer"},"Limits":{"type":"array","items":{"type":"object"}},"Tiers":{"type":"array","items":{"type":"object"}}}},"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}}}}}
```

## The PayoutGroup object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"PayoutGroup":{"type":"object","properties":{"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"Rank":{"type":"integer"},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/Rule"}},"Payout":{"type":"number","format":"decimal"},"PayoutRate":{"type":"integer"},"Limits":{"type":"array","items":{"type":"object"}},"Tiers":{"type":"array","items":{"type":"object"}}}},"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}}}}}
```

## The Rule object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}}}}}
```

## The ScheduledTerm object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"ScheduledTerm":{"type":"object","properties":{"Status":{"type":"string","enum":["ACTIVE","PENDING","UPCOMING","DECLINED","EXPIRED"]},"Name":{"type":"string"},"StartDate":{"type":"string","format":"date-time"},"EndDate":{"type":"string","format":"date-time"},"Repeat":{"type":"object","properties":{"Days":{"type":"array","items":{"type":"string","format":"date"}},"StartTime":{"type":"string","format":"time"},"EndTime":{"type":"string","format":"time"}}},"EventPayouts":{"type":"array","items":{"$ref":"#/components/schemas/EventPayout"}}}},"EventPayout":{"type":"object","properties":{"EventTypeId":{"type":"integer","description":"Unique identifier for the event type."},"EventTypeName":{"type":"string","description":"Display name of the event type."},"EventCategory":{"type":"string","description":"Category of the event (e.g., SALE, LEAD, CLICK)."},"DefaultPayout":{"type":"number","format":"decimal","description":"Default flat payout amount for the event."},"DefaultPayoutRate":{"type":"number","format":"decimal","description":"Default percentage payout rate for the event."},"PayoutLevel":{"type":"string","description":"Whether payout is calculated per item, order, click, or call.","enum":["ITEM","ORDER","CLICK","CALL"]},"PayoutGroups":{"type":"array","description":"Conditional payout groups for this event type.","items":{"$ref":"#/components/schemas/PayoutGroup"}}}},"PayoutGroup":{"type":"object","properties":{"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"Rank":{"type":"integer"},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/Rule"}},"Payout":{"type":"number","format":"decimal"},"PayoutRate":{"type":"integer"},"Limits":{"type":"array","items":{"type":"object"}},"Tiers":{"type":"array","items":{"type":"object"}}}},"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}}}}}
```

## The CampaignTerm object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"components":{"schemas":{"CampaignTerm":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"StartDate":{"type":"string","format":"date-time"},"EndDate":{"type":"string","format":"date-time"},"EventPayouts":{"type":"array","items":{"$ref":"#/components/schemas/EventPayout"}}}},"EventPayout":{"type":"object","properties":{"EventTypeId":{"type":"integer","description":"Unique identifier for the event type."},"EventTypeName":{"type":"string","description":"Display name of the event type."},"EventCategory":{"type":"string","description":"Category of the event (e.g., SALE, LEAD, CLICK)."},"DefaultPayout":{"type":"number","format":"decimal","description":"Default flat payout amount for the event."},"DefaultPayoutRate":{"type":"number","format":"decimal","description":"Default percentage payout rate for the event."},"PayoutLevel":{"type":"string","description":"Whether payout is calculated per item, order, click, or call.","enum":["ITEM","ORDER","CLICK","CALL"]},"PayoutGroups":{"type":"array","description":"Conditional payout groups for this event type.","items":{"$ref":"#/components/schemas/PayoutGroup"}}}},"PayoutGroup":{"type":"object","properties":{"Id":{"type":"string","description":"Select the option that best describes how you use impact.com"},"Rank":{"type":"integer"},"Rules":{"type":"array","items":{"$ref":"#/components/schemas/Rule"}},"Payout":{"type":"number","format":"decimal"},"PayoutRate":{"type":"integer"},"Limits":{"type":"array","items":{"type":"object"}},"Tiers":{"type":"array","items":{"type":"object"}}}},"Rule":{"type":"object","properties":{"Variable":{"type":"string"},"Operator":{"type":"string"},"Values":{"type":"array","items":{"type":"string"}}}}}}}
```


---

# 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/brand-api-reference/reference/contracts/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.
