> For the complete documentation index, see [llms.txt](https://integrations.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://integrations.impact.com/brand-api-reference/reference/contracts/contracts.md).

# Contracts

## List All Contracts

> Returns a list of your contracts for a specific campaign, with options for filtering. If no status is specified, only ACTIVE contracts are returned.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/Campaigns/{CampaignId}/Contracts":{"get":{"summary":"List All Contracts","description":"Returns a list of your contracts for a specific campaign, with options for filtering. If no status is specified, only ACTIVE contracts are returned.","operationId":"listContracts","tags":["Contracts"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"}},{"name":"CampaignId","in":"path","required":true,"schema":{"type":"integer"}},{"name":"DateLastUpdatedBefore","in":"query","description":"Return contracts updated before a specific date and time (ISO-8601).","schema":{"type":"string","format":"date-time"}},{"name":"DateLastUpdatedAfter","in":"query","description":"Return contracts updated after a specific date and time (ISO-8601).","schema":{"type":"string","format":"date-time"}},{"name":"StartDateBefore","in":"query","description":"Return contracts that start before a specific date and time (ISO-8601).","schema":{"type":"string","format":"date-time"}},{"name":"StartDateAfter","in":"query","description":"Return contracts that start after a specific date and time (ISO-8601).","schema":{"type":"string","format":"date-time"}},{"name":"EndDateBefore","in":"query","description":"Return contracts that end before a specific date and time (ISO-8601).","schema":{"type":"string","format":"date-time"}},{"name":"EndDateAfter","in":"query","description":"Return contracts that end after a specific date and time (ISO-8601).","schema":{"type":"string","format":"date-time"}},{"name":"PartnerId","in":"query","description":"Return contracts for a specific partner.","schema":{"type":"integer"}},{"name":"Signatory","in":"query","description":"Return contracts with a particular brand or partner signatory.","schema":{"type":"string"}},{"name":"Status","in":"query","description":"Return contracts with a specific status. Defaults to ACTIVE if not specified.","schema":{"type":"string","enum":["ACTIVE","DECLINED","EXPIRED","PENDING","UPCOMING"]}},{"name":"TemplateId","in":"query","description":"Return contracts sourced from a specific Template Terms ID.","schema":{"type":"integer"}}],"responses":{"200":{"description":"A paginated list of contract objects.","content":{"application/json":{"schema":{"type":"object","properties":{"Contracts":{"type":"array","description":"The list of contract objects.","items":{"$ref":"#/components/schemas/Contract"}}}}}}}}}}},"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"}}}}}}}
```

## Get Contract Details

> Retrieves the object of an existing contract, including details on any associated Creator, Performance, or Product Boost campaigns.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/Campaigns/{CampaignId}/Contracts/{ContractId}":{"get":{"summary":"Get Contract Details","description":"Retrieves the object of an existing contract, including details on any associated Creator, Performance, or Product Boost campaigns.","operationId":"getContractById","tags":["Contracts"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"}},{"name":"CampaignId","in":"path","required":true,"schema":{"type":"integer"}},{"name":"ContractId","in":"path","required":true,"description":"The unique identifier for the contract.","schema":{"type":"string"}}],"responses":{"200":{"description":"A single contract object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contract"}}}}}}}},"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"}}}}}}}
```

## Accept a Pending Contract

> Accepts a pending partner contract proposal. Use this endpoint by passing the program and contract IDs. To identify contracts currently waiting to be actioned, filter your contract list with the \`Status=PENDING\` parameter.\
> \
> \## Decision precedence and conflict handling\
> \
> You can accept a contract proposal using multiple channels — the Applications UI, automated workflows, or impact ai — while an API request is in flight.\
> \
> \### The "first-in" rule\
> \
> \- \*\*Finality\*\*: Once you accept a contract proposal through any channel, that decision is final.\
> \- \*\*Conflict resolution\*\*: If multiple determinations are submitted for the same \`contractId\`, the system honors the first determination received based on the server timestamp. All subsequent or conflicting submissions are ignored.<br>

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/Programs/{ProgramId}/Contracts":{"post":{"summary":"Accept a Pending Contract","description":"Accepts a pending partner contract proposal. Use this endpoint by passing the program and contract IDs. To identify contracts currently waiting to be actioned, filter your contract list with the `Status=PENDING` parameter.\n\n## Decision precedence and conflict handling\n\nYou can accept a contract proposal using multiple channels — the Applications UI, automated workflows, or impact ai — while an API request is in flight.\n\n### The \"first-in\" rule\n\n- **Finality**: Once you accept a contract proposal through any channel, that decision is final.\n- **Conflict resolution**: If multiple determinations are submitted for the same `contractId`, the system honors the first determination received based on the server timestamp. All subsequent or conflicting submissions are ignored.\n","operationId":"acceptContract","tags":["Contracts"],"parameters":[{"name":"AccountSID","in":"path","required":true,"description":"Your account SID.","schema":{"type":"string"}},{"name":"ProgramId","in":"path","required":true,"description":"The unique identifier of the program the contract belongs to.","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptContractRequest"}}}},"responses":{"200":{"description":"The contract was successfully accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractDecisionResponse"}}}},"400":{"description":"Bad request. The `contractId` may be missing or malformed."},"404":{"description":"Contract or program not found."},"409":{"description":"A decision for this contract has already been recorded. The first-in rule applies — the original determination is honored."}}}}},"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"}}},"ContractDecisionResponse":{"type":"object","properties":{"Status":{"type":"string","description":"Indicates whether the decision was successfully recorded.","enum":["OK"]}}}}}}
```

## Decline a Pending Contract

> Declines a pending partner contract proposal. Use this endpoint by passing the program and contract IDs. To identify contracts currently awaiting action, filter your contract list with the \`Status=PENDING\` parameter.\
> \
> \## Decision precedence and conflict handling\
> \
> You can decline a contract proposal using multiple channels — the Applications UI, automated workflows, or impact ai — while an API request is in flight.\
> \
> \### The "first-in" rule\
> \
> \- \*\*Finality\*\*: Once you decline a contract proposal through any channel, that decision is final.\
> \- \*\*Conflict resolution\*\*: If multiple determinations are submitted for the same \`contractId\`, the system honors the first determination received based on the server timestamp. All subsequent or conflicting submissions are ignored.<br>

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Contracts","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/Programs/{ProgramId}/Contracts":{"delete":{"summary":"Decline a Pending Contract","description":"Declines a pending partner contract proposal. Use this endpoint by passing the program and contract IDs. To identify contracts currently awaiting action, filter your contract list with the `Status=PENDING` parameter.\n\n## Decision precedence and conflict handling\n\nYou can decline a contract proposal using multiple channels — the Applications UI, automated workflows, or impact ai — while an API request is in flight.\n\n### The \"first-in\" rule\n\n- **Finality**: Once you decline a contract proposal through any channel, that decision is final.\n- **Conflict resolution**: If multiple determinations are submitted for the same `contractId`, the system honors the first determination received based on the server timestamp. All subsequent or conflicting submissions are ignored.\n","operationId":"declineContract","tags":["Contracts"],"parameters":[{"name":"AccountSID","in":"path","required":true,"description":"Your account SID.","schema":{"type":"string"}},{"name":"ProgramId","in":"path","required":true,"description":"The unique identifier of the program the contract belongs to.","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeclineContractRequest"}}}},"responses":{"200":{"description":"The contract was successfully declined.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractDecisionResponse"}}}},"400":{"description":"Bad request. The `contractId` may be missing or malformed."},"404":{"description":"Contract or program not found."},"409":{"description":"A decision for this contract has already been recorded. The first-in rule applies — the original determination is honored."}}}}},"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"}}},"ContractDecisionResponse":{"type":"object","properties":{"Status":{"type":"string","description":"Indicates whether the decision was successfully recorded.","enum":["OK"]}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://integrations.impact.com/brand-api-reference/reference/contracts/contracts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
