> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/xsiam-api/aspm-cicd-and-application-security/billing.md).

# Billing

APIs for managing billing contributors

## Get Billing Contributors

> Returns a list of unique repository users who are considered \*\*active contributors\*\* for billing calculations. \
> \
> An active contributor is defined as a unique (by email), non-bot human user who has committed code within the last 90 days to a billable, non-archived repository that has at least one security scanner enabled.\
> \
> \> \*\*Note:\*\* You must have the \*\*Instance Administrator\*\* permissions to run this endpoint.\
> \
> \> \*\*Required license\*\*:\
> \>\
> \> Cortex XSIAM Premium. In Cortex XSIAM Enterprise and Cortex NG SIEM, requires the Cortex Cloud Posture Management add-on. Not supported in XSIAM Enterprise Plus.

```json
{"openapi":"3.0.0","info":{"title":"ASPM, CICD and Application Security APIs","version":"Cortex XSIAM 3.6"},"tags":[{"name":"Billing","description":"APIs for managing billing contributors"}],"servers":[{"url":"https://api-yourfqdn"}],"security":[],"paths":{"/public_api/appsec/v1/billing/contributors":{"get":{"operationId":"GetContributors","summary":"Get Billing Contributors","description":"Returns a list of unique repository users who are considered **active contributors** for billing calculations. \n\nAn active contributor is defined as a unique (by email), non-bot human user who has committed code within the last 90 days to a billable, non-archived repository that has at least one security scanner enabled.\n\n> **Note:** You must have the **Instance Administrator** permissions to run this endpoint.\n\n> **Required license**:\n>\n> Cortex XSIAM Premium. In Cortex XSIAM Enterprise and Cortex NG SIEM, requires the Cortex Cloud Posture Management add-on. Not supported in XSIAM Enterprise Plus.","tags":["Billing"],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RepositoryUser"},"type":"array"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"description":"Internal Server Error"}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"Authorization","description":"{api_key}","required":true},{"schema":{"type":"string"},"in":"header","name":"x-xdr-auth-id","description":"{api_key_id}","required":true}]}}},"components":{"schemas":{"RepositoryUser":{"description":"Represents a user associated with a repository.","type":"object","additionalProperties":false,"required":["name","email","repositoryId","creationDate"],"properties":{"lastCommitDate":{"type":"string","description":"The date and time of the user's most recent commit. Used to determine contributor activity.\n**Note:** Only users who committed within the last 90 days are considered active contributors for billing."},"name":{"type":"string","description":"The display name of the repository user."},"userName":{"type":"string","description":"The username of the repository user on the VCS platform."},"email":{"type":"string","description":"The email address associated with the user. This value is used to uniquely identify contributors across repositories. Emails associated with bots or automated accounts (for example, action@github.com or *@users.noreply.github.com) are excluded."},"repositoryId":{"type":"string","description":"The unique identifier of the repository associated with the user. The repository must be billable (not archived and with at least one security scanner enabled)."},"creationDate":{"type":"string","description":"The date and time when the user record was created in the system."},"role":{"$ref":"#/components/schemas/VcsUserPermissionLevel"},"hasMfa":{"type":"boolean","description":"Indicates whether the user has multi-factor authentication (MFA) enabled on their VCS account."},"teams":{"type":"array","description":"The names of the teams in the VCS organization that the user belongs to.","items":{"type":"string"}},"isGuest":{"type":"boolean","description":"Indicates whether the user is a guest (external collaborator) in the repository."},"isContributor":{"type":"boolean","description":"Indicates whether the user is an active contributor."},"isAdmin":{"type":"boolean","description":"Indicates whether the user has admin permissions for the repository."},"emailOrigin":{"$ref":"#/components/schemas/EmailOrigin"},"uniqueVcsId":{"type":"string","description":"A unique identifier assigned to the user by the VCS platform. Used to correlate the user across repositories and systems."}}},"VcsUserPermissionLevel":{"description":"The permission level of the user within the repository.","enum":["ADMIN","MAINTAIN","WRITE","READ","TRIAGE","OWNER","MAINTAINER","DEVELOPER","GUEST","REPORTER","PLANNER","NONE"],"type":"string"},"EmailOrigin":{"description":"The source from which the user's email address was obtained.","enum":["API","GIT"],"type":"string"},"BillingErrorResponse":{"type":"object","properties":{"reply":{"type":"object","properties":{"err_code":{"type":"integer","description":"The HTTP status code of the error."},"err_msg":{"type":"string","description":"A short description of the error type."},"err_extra":{"type":"string","description":"A detailed message explaining the cause of the error.","nullable":true}}}}}},"responses":{"BadRequest":{"description":"Bad Request - The request was malformed or contains invalid parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized - The request is unauthenticated. Pass the correct auth credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingErrorResponse"}}}},"Forbidden":{"description":"Forbidden - Access to the resource is prohibited. Try with different auth credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingErrorResponse"}}}},"NotFound":{"description":"Not Found - The requested resource could not be found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingErrorResponse"}}}}}}}
```


---

# 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://cortex-docs.paloaltonetworks.com/xsiam-api/aspm-cicd-and-application-security/billing.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.
