> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/infrastructure-as-code-management/iacm-api-reference/executions/commit-resource-changes.md).

# Commit resource changes

Upload the counts.json commit marker for an execution stage's resource changes.

Sent after all category pages have been uploaded to signal the upload is complete; the body is the counts.json object (application/octet-stream) and is currently discarded. It carries the badge totals the UI needs without scanning the paged files.

Example body:

```json
{
  "PlannedTotal": 42,
  "PlannedByChangeType": { "added": 10, "changed": 8, "deleted": 2, "unchanged": 22 },
  "Drift": 3,
  "Resources": 120,
  "DataSources": 15,
  "Outputs": 6
}
```

````json
{"openapi":"3.0.3","info":{"title":"Infrastructure as Code Management","version":"0.1.0"},"tags":[{"name":"executions","description":"Executions Service handles the API for workflow executions.\n\nAt this time it is a read-only API with no ability to directly create or edit\nexecutions. Instead these are triggered from the Workspaces Service."}],"servers":[{"url":"http://localhost:80"}],"paths":{"/api/orgs/{org}/projects/{project}/executions/{pipeline_execution_id}/{pipeline_stage_id}/resource-changes/counts":{"post":{"tags":["executions"],"summary":"Commit resource changes","description":"Upload the counts.json commit marker for an execution stage's resource changes.\n\nSent after all category pages have been uploaded to signal the upload is\ncomplete; the body is the counts.json object (application/octet-stream) and is\ncurrently discarded. It carries the badge totals the UI needs without scanning\nthe paged files.\n\nExample body:\n```json\n{\n  \"PlannedTotal\": 42,\n  \"PlannedByChangeType\": { \"added\": 10, \"changed\": 8, \"deleted\": 2, \"unchanged\": 22 },\n  \"Drift\": 3,\n  \"Resources\": 120,\n  \"DataSources\": 15,\n  \"Outputs\": 6\n}\n```","operationId":"executions#commit-resource-changes","parameters":[{"name":"org","in":"path","description":"Org is the organisation identifier.","required":true,"schema":{"type":"string","description":"Org is the organisation identifier.","minLength":1,"maxLength":128}},{"name":"project","in":"path","description":"Project is the project identifier.","required":true,"schema":{"type":"string","description":"Project is the project identifier.","minLength":1,"maxLength":128}},{"name":"pipeline_execution_id","in":"path","description":"Pipeline execution ID","required":true,"schema":{"type":"string","description":"Pipeline execution ID","minLength":1,"maxLength":128}},{"name":"pipeline_stage_id","in":"path","description":"Pipeline execution stage ID","required":true,"schema":{"type":"string","description":"Pipeline execution stage ID","minLength":1,"maxLength":128}},{"name":"Harness-Account","in":"header","description":"Account is the internal customer account ID.","allowEmptyValue":true,"required":true,"schema":{"type":"string","description":"Account is the internal customer account ID.","minLength":1,"maxLength":128}},{"name":"Content-Length","in":"header","description":"Size in bytes of the counts.json object.","allowEmptyValue":true,"schema":{"type":"integer","description":"Size in bytes of the counts.json object.","format":"int64"}}],"responses":{"200":{"description":"OK response."},"400":{"description":"BadRequestError: Bad Request response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"UnauthorizedError: Unauthorized response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"ForbiddenError: Forbidden response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"NotFoundError: Not Found response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"408":{"description":"TimeoutError: Request Timeout response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"ConflictError: Conflict response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"423":{"description":"LockedError: Locked response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"499":{"description":"ContextCancelledError:  response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"InternalServerError: Internal Server Error response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"BadGatewayError: Bad Gateway response.","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?"},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem."},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem."},"name":{"type":"string","description":"Name is the name of this class of errors."},"temporary":{"type":"boolean","description":"Is the error temporary?"},"timeout":{"type":"boolean","description":"Is the error a timeout?"}},"required":["name","id","message","temporary","timeout","fault"]}}}}
````
