Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.
Requires write:photos.Send the complete report’s title, text and image blocks in page. Upload photos using bulk upsert photos, then include the returned attachment IDs in the report.Keep sourceExternalId the same for each report and increase sourceRevision when its content changes. Retry with the same revision and content; outdated or conflicting revisions return 409.Use PATCH to update an existing report and DELETE to archive it. Send a newer revision with POST to restore an archived report.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"BuildPass API","colors":{"primary":"#68d07f","light":"#68d07f","dark":"#68d07f"},"favicon":"https://mintcdn.com/buildpass/Xsjs4NKNLPoM6N4X/favicon.svg?fit=max\u0026auto=format\u0026n=Xsjs4NKNLPoM6N4X\u0026q=85\u0026s=277fce044fd6d8a12d6a617a5bf8a5a2","logo":{"light":"https://mintcdn.com/buildpass/Cb9JmQTwpkItOpus/logo/light.svg?fit=max\u0026auto=format\u0026n=Cb9JmQTwpkItOpus\u0026q=85\u0026s=318747a7e7df24c220865cf82aa2bb95","dark":"https://mintcdn.com/buildpass/Cb9JmQTwpkItOpus/logo/dark.svg?fit=max\u0026auto=format\u0026n=Cb9JmQTwpkItOpus\u0026q=85\u0026s=9625f6216d72a5151785bedf260ae509"},"navbar":{"links":[{"label":"Support","href":"mailto:support@buildpass.com.au"}],"primary":{"type":"button","label":"Log in","href":"https://app.buildpass.com.au"}},"footer":{"socials":{}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"buildpass","hasAudioNarration":false,"actualSubdomain":"buildpass","customDomains":["developer.buildpass.global"],"gitSource":{"type":"github","owner":"buildpass-au","repo":"external-api","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac59da54e1548e7873f3388","collectionId":"cbefca5f-c040-48fb-bace-4a48dcbd3152","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac59da54e1548e7873f3388"},"entitlements":{},"buildId":"6ac59da54e1548e7873f3388","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":49},{"language":"default","tag":"Photos","count":12},{"language":"default","tag":"Documentation","count":9},{"language":"default","tag":"Meetings","count":8},{"language":"default","tag":"Features","count":7},{"language":"default","tag":"Subcontractors","count":4},{"language":"default","tag":"Timesheets","count":4},{"language":"default","tag":"Attachments","count":3},{"language":"default","tag":"Inductions","count":3},{"language":"default","tag":"Defects","count":2}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"a.group[href=\"https://app.buildpass.com.au\"]>div>svg{display:none}a.group[href=\"https://app.buildpass.com.au\"]>div{margin-right:0}"}],"page":{"pagePath":"api-reference/builders/photo-reports/sync","slug":"/api-reference/builders/photo-reports/sync","pageMetadata":{"title":"Sync a photo report","openapi":"POST /builders/{builderId}/photo-reports/sync","description":"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.","href":"/api-reference/builders/photo-reports/sync"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Requires `,_jsx(_components.code,{children:`write:photos`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Send the complete report’s title, text and image blocks in `,_jsx(_components.code,{children:`page`}),`. Upload photos using `,_jsx(_components.a,{href:`/api-reference/builders/photo-gallery/bulk-upsert`,children:`bulk upsert photos`}),`, then include the returned attachment IDs in the report.`]}),`\n`,_jsxs(_components.p,{children:[`Keep `,_jsx(_components.code,{children:`sourceExternalId`}),` the same for each report and increase `,_jsx(_components.code,{children:`sourceRevision`}),` when its content changes. Retry with the same revision and content; outdated or conflicting revisions return `,_jsx(_components.code,{children:`409`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`PATCH`}),` to update an existing report and `,_jsx(_components.code,{children:`DELETE`}),` to archive it. Send a newer revision with `,_jsx(_components.code,{children:`POST`}),` to restore an archived report.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Sync a photo report","openapi":"POST /builders/{builderId}/photo-reports/sync","description":"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.","href":"/api-reference/builders/photo-reports/sync"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/buildpass/a6a67761c3b7e458/script.js"],"openApiReferenceData":{"operation":{"summary":"Sync a photo report","description":"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.","tags":["Photos"],"parameters":["6233943e-5842-4608-a080-92a2e5abcf9a"],"requestBody":"a2a0eb4a-5834-421e-816f-6766675d00e1","responses":{"200":"6a82baad-0e89-4b16-9bd9-7d17b57b68cf","400":"a5406243-533c-4aa3-86f5-72fd21dd5ffc","401":"2dd6cb34-18cc-4dc9-90f5-33f8dbea8350","403":"a53f7f84-fd5d-4fdf-8848-b366cb2a8213","404":"8a26c92f-a14b-430d-87df-5a9bf8a62918","409":"9924ec31-c67b-46e0-aa97-d48ff30d4132","429":"46d13727-58ae-413d-ac5c-e0bd7506a7ee","500":"87b4a76f-4fe6-4d33-bd27-e2bb77a10161"},"security":["a26c8e7f-28fa-43c9-a322-6ceb5a74029f"],"operationId":"postPhotoReport","method":"post","type":"path","servers":["5387ed31-b1f0-4d15-a199-19356eb085b4"],"path":"/builders/{builderId}/photo-reports/sync","baseUrlOptions":["https://api.buildpass.global"],"title":"Sync a photo report","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6233943e-5842-4608-a080-92a2e5abcf9a":{"name":"builderId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sourceApp":{"type":"string","minLength":1,"maxLength":80,"isRequired":true,"uniqueKey":"sourceApp","typeLabel":"string"},"sourceExternalId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"sourceExternalId","typeLabel":"string"},"sourceRevision":{"type":"integer","minimum":1,"maximum":2147483647,"isRequired":true,"uniqueKey":"sourceRevision","typeLabel":"integer"},"sourceCreatedAt":{"type":"string","minLength":1,"format":"date-time","isRequired":true,"uniqueKey":"sourceCreatedAt","typeLabel":"string\u003cdate-time>"},"walkthroughDate":{"type":"string","minLength":1,"format":"date-time","isRequired":true,"uniqueKey":"walkthroughDate","typeLabel":"string\u003cdate-time>"},"sourceAuthor":{"type":"object","properties":{"externalId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"sourceAuthor.externalId","typeLabel":"string"},"name":{"type":"string","minLength":1,"maxLength":240,"isRequired":true,"uniqueKey":"sourceAuthor.name","typeLabel":"string"},"email":{"type":"string","minLength":1,"maxLength":320,"format":"email","uniqueKey":"sourceAuthor.email","typeLabel":"string\u003cemail>"}},"required":["externalId","name"],"isRequired":true,"uniqueKey":"sourceAuthor","typeLabel":"object"},"page":{"type":"object","properties":{"schemaVersion":{"type":"integer","enum":[1],"isRequired":true,"uniqueKey":"page.schemaVersion","typeLabel":"enum\u003cinteger>"},"title":{"type":"string","maxLength":20000,"isRequired":true,"uniqueKey":"page.title","typeLabel":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","required":["sourceBlockId","type","properties","richText"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["TEXT"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.properties","typeLabel":"object"},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.richText.items.[INDEX].text","typeLabel":"string"},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.richText.items.[INDEX].marks.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":2,"default":[],"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.richText.items.[INDEX].marks","typeLabel":"enum\u003cstring>[]"}},"required":["text"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.richText.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.0.richText","typeLabel":"object[]"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties","richText"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["HEADING"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","properties":{"level":{"type":"integer","minimum":1,"maximum":4,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.properties.level","typeLabel":"integer"}},"required":["level"],"additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.properties","typeLabel":"object"},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.richText.items.[INDEX].text","typeLabel":"string"},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.richText.items.[INDEX].marks.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":2,"default":[],"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.richText.items.[INDEX].marks","typeLabel":"enum\u003cstring>[]"}},"required":["text"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.richText.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.1.richText","typeLabel":"object[]"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["BULLETED_LIST"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].id","typeLabel":"string"},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].richText.items.[INDEX].text","typeLabel":"string"},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].richText.items.[INDEX].marks.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":2,"default":[],"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].richText.items.[INDEX].marks","typeLabel":"enum\u003cstring>[]"}},"required":["text"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].richText.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].richText","typeLabel":"object[]"},"depth":{"type":"integer","minimum":0,"maximum":6,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX].depth","typeLabel":"integer"}},"required":["id","richText"],"additionalProperties":false,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":100,"description":"Item IDs must be unique within the list.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties.\\items","typeLabel":"object[]"}},"required":["items"],"additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.2.properties","typeLabel":"object"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["ORDERED_LIST"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].id","typeLabel":"string"},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].richText.items.[INDEX].text","typeLabel":"string"},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].richText.items.[INDEX].marks.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":2,"default":[],"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].richText.items.[INDEX].marks","typeLabel":"enum\u003cstring>[]"}},"required":["text"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].richText.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].richText","typeLabel":"object[]"},"depth":{"type":"integer","minimum":0,"maximum":6,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX].depth","typeLabel":"integer"}},"required":["id","richText"],"additionalProperties":false,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":100,"description":"Item IDs must be unique within the list.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties.\\items","typeLabel":"object[]"}},"required":["items"],"additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.3.properties","typeLabel":"object"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["CHECKLIST"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].id","typeLabel":"string"},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].richText.items.[INDEX].text","typeLabel":"string"},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].richText.items.[INDEX].marks.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":2,"default":[],"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].richText.items.[INDEX].marks","typeLabel":"enum\u003cstring>[]"}},"required":["text"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].richText.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].richText","typeLabel":"object[]"},"checked":{"type":"boolean","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].checked","typeLabel":"boolean"},"depth":{"type":"integer","minimum":0,"maximum":6,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX].depth","typeLabel":"integer"}},"required":["id","richText","checked"],"additionalProperties":false,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":100,"description":"Item IDs must be unique within the list.","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties.\\items","typeLabel":"object[]"}},"required":["items"],"additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.4.properties","typeLabel":"object"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties","attachmentId","imageStatus"],"properties":{"imageStatus":{"type":"string","enum":["SYNCED"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.imageStatus","typeLabel":"enum\u003cstring>"},"attachmentId":{"type":"string","minLength":1,"pattern":"^att_[a-z][a-z0-9]+$","isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.attachmentId","typeLabel":"string"},"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["IMAGE"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.properties","typeLabel":"object"},"captureSequenceId":{"type":"number","uniqueKey":"page.blocks.items.[INDEX].oneOf.5.captureSequenceId","typeLabel":"number"},"imageFailure":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":80,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.imageFailure.code","typeLabel":"string"},"message":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.imageFailure.message","typeLabel":"string"}},"required":["code","message"],"uniqueKey":"page.blocks.items.[INDEX].oneOf.5.imageFailure","typeLabel":"object"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties","attachmentId","imageStatus","imageFailure"],"properties":{"imageStatus":{"type":"string","enum":["FAILED"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.imageStatus","typeLabel":"enum\u003cstring>"},"attachmentId":{"oneOf":[{"type":"string","minLength":1,"pattern":"^att_[a-z][a-z0-9]+$","enum":[null],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.attachmentId.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","minLength":1,"pattern":"^att_[a-z][a-z0-9]+$","enum":[null],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.attachmentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.attachmentId","typeLabel":"enum\u003cstring> | null"},"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["IMAGE"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.properties","typeLabel":"object"},"imageFailure":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":80,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.imageFailure.code","typeLabel":"string"},"message":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.imageFailure.message","typeLabel":"string"}},"required":["code","message"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.6.imageFailure","typeLabel":"object"},"captureSequenceId":{"type":"number","uniqueKey":"page.blocks.items.[INDEX].oneOf.6.captureSequenceId","typeLabel":"number"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","required":["sourceBlockId","type","properties","childPage"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.7.sourceBlockId","typeLabel":"string"},"type":{"type":"string","enum":["PAGE"],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.7.type","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":true,"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.7.properties","typeLabel":"object"},"childPage":{"oneOf":[{"$circularRef":"23815542-1853-4f4a-98f3-bb1a5f4c4231","isRequired":true}],"isRequired":true,"uniqueKey":"page.blocks.items.[INDEX].oneOf.7.childPage","typeLabel":"any"}},"uniqueKey":"page.blocks.items.[INDEX].oneOf.7","typeLabel":"object"}],"uniqueKey":"page.blocks.items.[INDEX]","typeLabel":"object"},"maxItems":500,"isRequired":true,"uniqueKey":"page.blocks","typeLabel":"object[]"},"shortDescription":{"oneOf":[{"type":"string","maxLength":20000,"uniqueKey":"page.shortDescription.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":20000,"uniqueKey":"page.shortDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"page.shortDescription","typeLabel":"string | null"},"contentMetadata":{"type":"object","additionalProperties":true,"uniqueKey":"page.contentMetadata","typeLabel":"object"},"sharingMetadata":{"type":"object","additionalProperties":true,"uniqueKey":"page.sharingMetadata","typeLabel":"object"}},"required":["schemaVersion","title","blocks"],"description":"Authoritative snapshot. Maximum 500 blocks across the whole tree and four Page levels including root. Source block IDs are unique among siblings.","isRequired":true,"uniqueKey":"page","typeLabel":"object"},"mappedAdminUserId":{"type":"string","minLength":1,"pattern":"^user_[a-z][a-z0-9]+$","uniqueKey":"mappedAdminUserId","typeLabel":"string"},"sourceDeepLink":{"type":"string","minLength":1,"maxLength":1000,"description":"HTTPS or supasite URI with no credentials, query string or fragment.","uniqueKey":"sourceDeepLink","typeLabel":"string"},"projectId":{"oneOf":[{"type":"string","minLength":1,"pattern":"^proj_[a-z][a-z0-9]+$","uniqueKey":"projectId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"pattern":"^proj_[a-z][a-z0-9]+$","uniqueKey":"projectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"projectId","typeLabel":"string | null"}},"required":["sourceApp","sourceExternalId","sourceRevision","sourceCreatedAt","walkthroughDate","sourceAuthor","page"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sourceApp":"\u003cstring>","sourceExternalId":"\u003cstring>","sourceRevision":1073741824,"sourceCreatedAt":"2023-11-07T05:31:56Z","walkthroughDate":"2023-11-07T05:31:56Z","sourceAuthor":{"externalId":"\u003cstring>","name":"\u003cstring>","email":"jsmith@example.com"},"page":{"schemaVersion":1,"title":"\u003cstring>","blocks":[{"sourceBlockId":"\u003cstring>","type":"TEXT","properties":{},"richText":[{"text":"\u003cstring>","marks":[]}]}],"shortDescription":"\u003cstring>","contentMetadata":{},"sharingMetadata":{}},"mappedAdminUserId":"\u003cstring>","sourceDeepLink":"\u003cstring>","projectId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"6a82baad-0e89-4b16-9bd9-7d17b57b68cf":{"description":"Snapshot committed","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["synced","partial"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"idempotent":{"type":"boolean","isRequired":true,"uniqueKey":"idempotent","typeLabel":"boolean"},"photoReportId":{"type":"string","minLength":1,"pattern":"^phrep_","isRequired":true,"uniqueKey":"photoReportId","typeLabel":"string"},"pageId":{"type":"string","minLength":1,"pattern":"^page_","isRequired":true,"uniqueKey":"pageId","typeLabel":"string"},"sourceRevision":{"type":"integer","minimum":1,"maximum":2147483647,"isRequired":true,"uniqueKey":"sourceRevision","typeLabel":"integer"}},"required":["status","idempotent","photoReportId","pageId","sourceRevision"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"synced","idempotent":true,"photoReportId":"\u003cstring>","pageId":"\u003cstring>","sourceRevision":1073741824}}},"exampleType":"generated"}},"exampleType":"generated"},"a5406243-533c-4aa3-86f5-72fd21dd5ffc":{"description":"Invalid document, ID, revision or request shape","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"2dd6cb34-18cc-4dc9-90f5-33f8dbea8350":{"description":"Missing or invalid token","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"a53f7f84-fd5d-4fdf-8848-b366cb2a8213":{"description":"Missing write:photos scope or builder access","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"8a26c92f-a14b-430d-87df-5a9bf8a62918":{"description":"Builder/project inaccessible or source report not found for archive","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"9924ec31-c67b-46e0-aa97-d48ff30d4132":{"description":"Revision, ownership or attachment conflict","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["STALE_REVISION","REVISION_CONFLICT","ATTACHMENT_CONFLICT","SOURCE_OWNERSHIP_REQUIRED"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"STALE_REVISION","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"46d13727-58ae-413d-ac5c-e0bd7506a7ee":{"description":"Rate limit exceeded","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"87b4a76f-4fe6-4d33-bd27-e2bb77a10161":{"description":"Save failed; retry identical source revision and snapshot","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"a26c8e7f-28fa-43c9-a322-6ceb5a74029f":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.buildpass.global/oauth/token","scopes":{"read:subcontractors":"Read subcontractors","write:subcontractors":"Write subcontractors","read:prequalifications":"Read prequalifications","write:prequalifications":"Write prequalifications","read:insurances":"Read insurances","write:insurances":"Write insurances","read:contacts":"Read contacts","read:swms":"Read SWMS","read:timesheets":"Read timesheets","read:inductions":"Read inductions","read:meetings":"Read meetings","write:meetings":"Write meetings","read:defects":"Read defects","read:photos":"Read photos and photo folders","write:photos":"Create, update, delete, and sync photos and photo folders","read:site_access":"Read worker-project site access grants (explicitly approved pilot)","write:sign_on_events":"Record worker sign-on and sign-off events (explicitly approved pilot)"}}},"scopes":["write:photos"],"schemeName":"OAuth2"}}},"servers":{"5387ed31-b1f0-4d15-a199-19356eb085b4":{"url":"https://api.buildpass.global","description":"Production server"}},"schemas":{"23815542-1853-4f4a-98f3-bb1a5f4c4231":{"type":"object","properties":{"schemaVersion":{"type":"integer","enum":[1],"isRequired":true},"title":{"type":"string","maxLength":20000,"isRequired":true},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","required":["sourceBlockId","type","properties","richText"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["TEXT"],"isRequired":true},"properties":{"type":"object","additionalProperties":true,"isRequired":true},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"]},"maxItems":2,"default":[]}},"required":["text"]},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true}}},{"type":"object","required":["sourceBlockId","type","properties","richText"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["HEADING"],"isRequired":true},"properties":{"type":"object","properties":{"level":{"type":"integer","minimum":1,"maximum":4,"isRequired":true}},"required":["level"],"additionalProperties":true,"isRequired":true},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"]},"maxItems":2,"default":[]}},"required":["text"]},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true}}},{"type":"object","required":["sourceBlockId","type","properties"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["BULLETED_LIST"],"isRequired":true},"properties":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"]},"maxItems":2,"default":[]}},"required":["text"]},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true},"depth":{"type":"integer","minimum":0,"maximum":6}},"required":["id","richText"],"additionalProperties":false},"minItems":1,"maxItems":100,"description":"Item IDs must be unique within the list.","isRequired":true}},"required":["items"],"additionalProperties":true,"isRequired":true}}},{"type":"object","required":["sourceBlockId","type","properties"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["ORDERED_LIST"],"isRequired":true},"properties":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"]},"maxItems":2,"default":[]}},"required":["text"]},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true},"depth":{"type":"integer","minimum":0,"maximum":6}},"required":["id","richText"],"additionalProperties":false},"minItems":1,"maxItems":100,"description":"Item IDs must be unique within the list.","isRequired":true}},"required":["items"],"additionalProperties":true,"isRequired":true}}},{"type":"object","required":["sourceBlockId","type","properties"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["CHECKLIST"],"isRequired":true},"properties":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"richText":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","isRequired":true},"marks":{"type":"array","items":{"type":"string","enum":["BOLD","ITALIC"]},"maxItems":2,"default":[]}},"required":["text"]},"minItems":1,"maxItems":200,"description":"At most 200 runs and 20,000 total text characters per rich-text field.","isRequired":true},"checked":{"type":"boolean","isRequired":true},"depth":{"type":"integer","minimum":0,"maximum":6}},"required":["id","richText","checked"],"additionalProperties":false},"minItems":1,"maxItems":100,"description":"Item IDs must be unique within the list.","isRequired":true}},"required":["items"],"additionalProperties":true,"isRequired":true}}},{"type":"object","required":["sourceBlockId","type","properties","attachmentId","imageStatus"],"properties":{"imageStatus":{"type":"string","enum":["SYNCED"],"isRequired":true},"attachmentId":{"type":"string","minLength":1,"pattern":"^att_[a-z][a-z0-9]+$","isRequired":true},"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["IMAGE"],"isRequired":true},"properties":{"type":"object","additionalProperties":true,"isRequired":true},"captureSequenceId":{"type":"number"},"imageFailure":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":80,"isRequired":true},"message":{"type":"string","minLength":1,"maxLength":500,"isRequired":true}},"required":["code","message"]}}},{"type":"object","required":["sourceBlockId","type","properties","attachmentId","imageStatus","imageFailure"],"properties":{"imageStatus":{"type":"string","enum":["FAILED"],"isRequired":true},"attachmentId":{"oneOf":[{"type":"string","minLength":1,"pattern":"^att_[a-z][a-z0-9]+$","enum":[null],"isRequired":true},{"type":"null","minLength":1,"pattern":"^att_[a-z][a-z0-9]+$","enum":[null],"isRequired":true}],"isRequired":true},"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["IMAGE"],"isRequired":true},"properties":{"type":"object","additionalProperties":true,"isRequired":true},"imageFailure":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":80,"isRequired":true},"message":{"type":"string","minLength":1,"maxLength":500,"isRequired":true}},"required":["code","message"],"isRequired":true},"captureSequenceId":{"type":"number"}}},{"type":"object","required":["sourceBlockId","type","properties","childPage"],"properties":{"sourceBlockId":{"type":"string","minLength":1,"maxLength":220,"isRequired":true},"type":{"type":"string","enum":["PAGE"],"isRequired":true},"properties":{"type":"object","additionalProperties":true,"isRequired":true},"childPage":{"oneOf":[{"isRequired":true}],"isRequired":true}}}]},"maxItems":500,"isRequired":true},"shortDescription":{"oneOf":[{"type":"string","maxLength":20000},{"type":"null","maxLength":20000}]},"contentMetadata":{"type":"object","additionalProperties":true},"sharingMetadata":{"type":"object","additionalProperties":true}},"required":["schemaVersion","title","blocks"],"description":"Authoritative snapshot. Maximum 500 blocks across the whole tree and four Page levels including root. Source block IDs are unique among siblings."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.buildpass.global/oauth/token","scopes":{"read:subcontractors":"Read subcontractors","write:subcontractors":"Write subcontractors","read:prequalifications":"Read prequalifications","write:prequalifications":"Write prequalifications","read:insurances":"Read insurances","write:insurances":"Write insurances","read:contacts":"Read contacts","read:swms":"Read SWMS","read:timesheets":"Read timesheets","read:inductions":"Read inductions","read:meetings":"Read meetings","write:meetings":"Write meetings","read:defects":"Read defects","read:photos":"Read photos and photo folders","write:photos":"Create, update, delete, and sync photos and photo folders","read:site_access":"Read worker-project site access grants (explicitly approved pilot)","write:sign_on_events":"Record worker sign-on and sign-off events (explicitly approved pilot)"}}},"scopes":["write:photos"],"schemeName":"OAuth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"The access token received from the authorization server in the OAuth 2.0 flow.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"OAuth2","name":"Authorization"}],"title":"OAuth2"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"buildpass","siteName":"BuildPass API","title":"Sync a photo report - BuildPass API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-16T12:37:16.647Z","originalFileLocation":"api-reference/builders/photo-reports/sync.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BuildPass API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Sync a photo report - BuildPass API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BuildPass API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://buildpass.mintlify.app/_mintlify/api/og/v2?division=Photos\u0026amp;title=Sync+a+photo+report\u0026amp;description=Creates+or+updates+a+photo+report+in+BuildPass%2C+including+its+title%2C+text%2C+photos+and+optional+project.+Use+this+endpoint+to+keep+reports+from+your+application+\u0026amp;theme=0fa34181e7ac4b84f888ffc0\u0026amp;signature=edeaf185ee8e8565ec6c9f98a57e0421c8cd0a4ec251965e9b547f6c64bdb619\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Sync a photo report - BuildPass API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://buildpass.mintlify.app/_mintlify/api/og/v2?division=Photos\u0026amp;title=Sync+a+photo+report\u0026amp;description=Creates+or+updates+a+photo+report+in+BuildPass%2C+including+its+title%2C+text%2C+photos+and+optional+project.+Use+this+endpoint+to+keep+reports+from+your+application+\u0026amp;theme=0fa34181e7ac4b84f888ffc0\u0026amp;signature=edeaf185ee8e8565ec6c9f98a57e0421c8cd0a4ec251965e9b547f6c64bdb619\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/buildpass/aZNfnfSSClMexl6a/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BuildPass API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#68d07f\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/builders/photo-reports/sync.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.buildpass.global/#organization\",\"name\":\"BuildPass API\",\"url\":\"https://developer.buildpass.global\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/buildpass/Cb9JmQTwpkItOpus/logo/light.svg?fit=max\u0026auto=format\u0026n=Cb9JmQTwpkItOpus\u0026q=85\u0026s=318747a7e7df24c220865cf82aa2bb95\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.buildpass.global#website\",\"name\":\"BuildPass API\",\"url\":\"https://developer.buildpass.global\",\"publisher\":{\"@id\":\"https://developer.buildpass.global/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync#webpage\",\"url\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync\",\"name\":\"Sync a photo report\",\"description\":\"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.\",\"dateModified\":\"2026-09-16T12:37:16.647Z\",\"isPartOf\":{\"@id\":\"https://developer.buildpass.global#website\"},\"breadcrumb\":{\"@id\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Photos\",\"item\":\"https://developer.buildpass.global/api-reference/builders/photos/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sync a photo report\",\"item\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync#apireference\",\"headline\":\"Sync a photo report\",\"name\":\"Sync a photo report\",\"description\":\"Creates or updates a photo report in BuildPass, including its title, text, photos and optional project. Use this endpoint to keep reports from your application in sync with BuildPass.\",\"url\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync\",\"mainEntityOfPage\":{\"@id\":\"https://developer.buildpass.global/api-reference/builders/photo-reports/sync#webpage\"},\"dateModified\":\"2026-09-16T12:37:16.647Z\",\"publisher\":{\"@id\":\"https://developer.buildpass.global/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.buildpass.global#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BuildPass API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BuildPass API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Authentication token","openapi":"POST /oauth/token","href":"/api-reference/authentication/post"}]},{"group":"Builders","pages":[{"title":"List builders","openapi":"GET /builders","href":"/api-reference/builders/list"},{"title":"Get builder","openapi":"GET /builders/{id}","href":"/api-reference/builders/get"}]},{"group":"Projects","pages":[{"title":"List projects","openapi":"GET /builders/{id}/projects","href":"/api-reference/builders/projects/list"},{"title":"Get project","openapi":"GET /builders/{id}/projects/{projectId}","href":"/api-reference/builders/projects/get"}]},{"group":"Site access (planned)","pages":[{"title":"List site access (limited pilot)","openapi":"GET /builders/{builderId}/projects/{projectId}/site-access","href":"/api-reference/builders/projects/site-access/list"},{"title":"Record gate attendance (limited pilot)","openapi":"POST /builders/{builderId}/projects/{projectId}/sign-on-events","href":"/api-reference/builders/projects/site-access/events"}]},{"group":"Meetings","pages":[{"title":"List meetings","openapi":"GET /builders/{builderId}/meetings","href":"/api-reference/builders/meetings/list"},{"title":"Create meeting","openapi":"POST /builders/{builderId}/meetings","href":"/api-reference/builders/meetings/create"},{"title":"Update meeting","openapi":"PATCH /builders/{builderId}/meetings/{meetingId}","href":"/api-reference/builders/meetings/update"},{"title":"Delete meeting","openapi":"DELETE /builders/{builderId}/meetings/{meetingId}","href":"/api-reference/builders/meetings/delete"},{"title":"Start meeting","openapi":"POST /builders/{builderId}/meetings/{meetingId}/start","href":"/api-reference/builders/meetings/start"},{"title":"End meeting","openapi":"POST /builders/{builderId}/meetings/{meetingId}/end","href":"/api-reference/builders/meetings/end"},{"title":"List meeting notes","openapi":"GET /builders/{builderId}/meetings/{meetingId}/notes","href":"/api-reference/builders/meetings/notes/list"},{"title":"Create or update meeting note","openapi":"POST /builders/{builderId}/meetings/{meetingId}/notes","href":"/api-reference/builders/meetings/notes/post"}]},{"group":"Defects","pages":[{"title":"List defects","openapi":"GET /builders/{builderId}/defects","href":"/api-reference/builders/defects/list"},{"title":"Get defect","openapi":"GET /builders/{builderId}/defects/{defectId}","href":"/api-reference/builders/defects/get"}]},{"group":"Attachments","pages":[{"title":"Create an attachment upload URL","openapi":"POST /builders/{builderId}/attachments/presign","href":"/api-reference/builders/attachments/presign"},{"title":"Upload attachment","openapi":"POST /builders/{builderId}/attachments/upload","href":"/api-reference/builders/attachments/upload"},{"title":"Bulk upload attachments","openapi":"POST /builders/{builderId}/attachments/bulk-upload","href":"/api-reference/builders/attachments/bulk-upload"}]},{"group":"Photos","pages":[{"title":"List photos","openapi":"GET /builders/{builderId}/photos","href":"/api-reference/builders/photos/list"},{"title":"Create photo","openapi":"POST /builders/{builderId}/photos","href":"/api-reference/builders/photos/create"},{"title":"Get photo","openapi":"GET /builders/{builderId}/photos/{photoId}","href":"/api-reference/builders/photos/get"},{"title":"Update photo","openapi":"PATCH /builders/{builderId}/photos/{photoId}","href":"/api-reference/builders/photos/update"},{"title":"Delete photo","openapi":"DELETE /builders/{builderId}/photos/{photoId}","href":"/api-reference/builders/photos/delete"},{"title":"List photo folders","openapi":"GET /builders/{builderId}/photo-folders","href":"/api-reference/builders/photo-folders/list"},{"title":"Create photo folder","openapi":"POST /builders/{builderId}/photo-folders","href":"/api-reference/builders/photo-folders/create"},{"title":"Get photo folder","openapi":"GET /builders/{builderId}/photo-folders/{folderId}","href":"/api-reference/builders/photo-folders/get"},{"title":"Update photo folder","openapi":"PATCH /builders/{builderId}/photo-folders/{folderId}","href":"/api-reference/builders/photo-folders/update"},{"title":"Delete photo folder","openapi":"DELETE /builders/{builderId}/photo-folders/{folderId}","href":"/api-reference/builders/photo-folders/delete"},{"title":"Bulk upsert photos","openapi":"POST /builders/{builderId}/photo-gallery/bulk-upsert","description":"Adds multiple photos to BuildPass for a photo report or project gallery folder. Returns a result for each photo and attachment IDs for successfully saved photos. Existing photos are reused to avoid duplicates.","href":"/api-reference/builders/photo-gallery/bulk-upsert"},{"title":"Sync a photo report","openapi":"POST /builders/{builderId}/photo-reports/sync","href":"/api-reference/builders/photo-reports/sync"}]},{"group":"Subcontractors","icon":{"name":"users","style":"light"},"pages":[{"title":"List subcontractors","openapi":"GET /subcontractors","description":"Get active subcontractors under a builder. By default, this returns third-party subcontractors only.","href":"/api-reference/subcontractors/list"},{"title":"Get subcontractor","openapi":"GET /subcontractors/{id}","href":"/api-reference/subcontractors/get"},{"title":"List subcontractor projects","openapi":"GET /subcontractors/{id}/projects","href":"/api-reference/subcontractors/projects/list"},{"title":"List subcontractor contacts","openapi":"GET /subcontractors/{id}/contacts","href":"/api-reference/subcontractors/contacts/list"}]},{"group":"Insurances","pages":[{"title":"List insurance documents","openapi":"GET /subcontractors/{id}/insurances","href":"/api-reference/subcontractors/insurances/list"},{"title":"Get insurance document","openapi":"GET /subcontractors/{id}/insurances/{insuranceId}","href":"/api-reference/subcontractors/insurances/get"}]},{"group":"Prequalifications","pages":[{"title":"List prequalifications","openapi":"GET /subcontractors/{id}/prequalifications","href":"/api-reference/subcontractors/prequalifications/list"},{"title":"Get prequalification","openapi":"GET /subcontractors/{id}/prequalifications/{prequalId}","href":"/api-reference/subcontractors/prequalifications/get"}]},{"group":"SWMS","pages":[{"title":"List SWMS documents","openapi":"GET /subcontractors/{id}/swms","href":"/api-reference/subcontractors/swms/list"},{"title":"Get SWMS document","openapi":"GET /subcontractors/{id}/swms/{swmsDocId}","href":"/api-reference/subcontractors/swms/get"}]},{"group":"Inductions","pages":[{"title":"List inductions for subcontractor","openapi":"GET /subcontractors/{id}/inductions","href":"/api-reference/subcontractors/inductions/list"},{"title":"List inductions for project","openapi":"GET /builders/{builderId}/projects/{projectId}/inductions","href":"/api-reference/builders/projects/inductions/list"},{"title":"Get induction","openapi":"GET /builders/{builderId}/projects/{projectId}/inductions/{identifierOrId}","href":"/api-reference/builders/projects/inductions/get"}]},{"group":"Timesheets","pages":[{"title":"List timesheets","openapi":"GET /timesheets","href":"/api-reference/timesheets/list"},{"title":"Get timesheet","openapi":"GET /timesheets/{timesheetId}","href":"/api-reference/timesheets/get"},{"title":"Get time types","openapi":"GET /timesheets/time-types","href":"/api-reference/timesheets/timeTypes"},{"title":"Get cost codes","openapi":"GET /timesheets/cost-codes","href":"/api-reference/timesheets/costCodes"}]}]}]},"basePath":"","title":"Sync a photo report - BuildPass API","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}