{"info":{"name":"RepoTree API","description":"Most organization endpoints require an authenticated application user. Creating an organization requires a master API signature. GET organization and member APIs also accept organization credentials. Invite and update member also accept an admin Bearer token. Repository APIs accept owner or admin Bearer only. Package, source, and version APIs accept owner, admin, or developer Bearer.","schema":"https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json","version":"v1"},"variable":[{"key":"baseUrl","value":"http:\/\/api1.truerepos.com\/api\/v1"},{"key":"origin","value":"http:\/\/api1.truerepos.com"},{"key":"bearerToken","value":"rt_live_YOUR_TOKEN"},{"key":"organizationUuid","value":"YOUR_ORGANIZATION_UUID"},{"key":"memberUuid","value":"YOUR_MEMBER_UUID"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{bearerToken}}","type":"string"}]},"item":[{"name":"Organizations","description":"Create a tenant, read it by UUID, update profile fields, or permanently delete it and all of its data.","item":[{"name":"Create an organization and its owner","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"X-Timestamp","value":"1793437625","type":"text"},{"key":"X-Signature","value":"a1b2c3\u2026","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Acme Technologies\",\n    \"owner_name\": \"Raju\",\n    \"owner_email\": \"raju@example.com\",\n    \"email\": \"ops@acme.test\",\n    \"phone\": \"+1-555-0100\",\n    \"website\": \"https:\/\/acme.test\",\n    \"country_code\": \"US\",\n    \"timezone\": \"UTC\",\n    \"external_reference\": null\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"noauth"}},"response":[]},{"name":"Get one organization","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}"]}},"response":[]},{"name":"Update organization profile","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}"]},"body":{"mode":"raw","raw":"{\n    \"website\": \"https:\/\/acme.test\",\n    \"timezone\": \"Asia\/Kolkata\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Delete an organization","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}"]}},"response":[]}]},{"name":"Members","description":"Invite people into an organization. One user cannot hold two memberships in the same organization.","item":[{"name":"List members","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/members","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","members"]}},"response":[]},{"name":"Invite a member","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/members","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","members"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Alex Chen\",\n    \"email\": \"alex@example.com\",\n    \"role_code\": \"developer\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Change a member role","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/members\/{{memberUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","members","{{memberUuid}}"]},"body":{"mode":"raw","raw":"{\n    \"role_code\": \"viewer\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Remove a member","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/members\/{{memberUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","members","{{memberUuid}}"]}},"response":[]}]},{"name":"Subscription","description":"Current entitlement snapshot. Limits are copied from the plan at assign time and are not recalculated from later catalog edits. Create, update, and delete are owner-only.","item":[{"name":"Get the organization subscription","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/subscription","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","subscription"]}},"response":[]},{"name":"Create the organization subscription","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/subscription","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","subscription"]},"body":{"mode":"raw","raw":"{\n    \"plan_code\": \"free\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Update the organization subscription","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/subscription","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","subscription"]},"body":{"mode":"raw","raw":"{\n    \"plan_code\": \"pro\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Delete the organization subscription","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/subscription","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","subscription"]}},"response":[]}]},{"name":"Access keys","description":"Credentials for Composer clients, CI, and future API integrations. Username and secret can be retrieved later from this API and from the admin panel.","item":[{"name":"List access keys","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-keys","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-keys"]}},"response":[]},{"name":"Create an access key","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-keys","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-keys"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Production Composer\",\n    \"type\": \"composer\",\n    \"expires_at\": null\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Revoke an access key","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-keys\/{accessKeyUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-keys","{accessKeyUuid}"]}},"response":[]},{"name":"Restore a revoked access key","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-keys\/{accessKeyUuid}\/restore","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-keys","{accessKeyUuid}","restore"]}},"response":[]}]},{"name":"Git credentials","description":"Org-scoped vault for GitHub, Bitbucket, GitLab, and generic Git tokens or SSH keys. Secrets are encrypted at rest. Public JSON never includes the secret.","item":[{"name":"List Git credentials","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/credentials","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","credentials"]}},"response":[]},{"name":"Store a Git credential","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/credentials","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","credentials"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Bitbucket CI\",\n    \"provider\": \"bitbucket\",\n    \"type\": \"https_token\",\n    \"secret\": \"bbat_example_token\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Update a Git credential","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/credentials\/{credentialUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","credentials","{credentialUuid}"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Bitbucket CI (rotated)\",\n    \"secret\": \"bbat_new_token\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Revoke a Git credential","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/credentials\/{credentialUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","credentials","{credentialUuid}"]}},"response":[]},{"name":"Restore a revoked Git credential","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/credentials\/{credentialUuid}\/restore","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","credentials","{credentialUuid}","restore"]}},"response":[]}]},{"name":"Repositories","description":"Composer and NPM repositories owned by an organization. Type is immutable. DELETE archives the repository.","item":[{"name":"List repositories","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories"]}},"response":[]},{"name":"Create a repository","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Magento Private Packages\",\n    \"type\": \"composer\",\n    \"visibility\": \"private\",\n    \"description\": \"Private Composer packages\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Get a repository","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}"]}},"response":[]},{"name":"Update a repository","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Magento Private Packages\",\n    \"description\": \"Updated\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Archive a repository","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}"]}},"response":[]},{"name":"Suspend a repository","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/suspend","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","suspend"]}},"response":[]},{"name":"Reactivate a repository","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/reactivate","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","reactivate"]}},"response":[]}]},{"name":"Repository settings","description":"Allow-listed settings per repository type. Arbitrary keys are rejected.","item":[{"name":"Get settings","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/settings","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","settings"]}},"response":[]},{"name":"Update settings","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/settings","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","settings"]},"body":{"mode":"raw","raw":"{\n    \"settings\": {\n        \"prefer_stable\": true,\n        \"minimum_stability\": \"stable\"\n    }\n}","options":{"raw":{"language":"json"}}}},"response":[]}]},{"name":"Repository domains","description":"Custom domain records only. DNS\/SSL provisioning belongs to future Integration\/Operation modules.","item":[{"name":"List domains","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/domains","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","domains"]}},"response":[]},{"name":"Add a domain","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/domains","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","domains"]},"body":{"mode":"raw","raw":"{\n    \"domain\": \"packages.customer.com\",\n    \"is_primary\": true\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Remove a domain","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/domains\/{domainUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","domains","{domainUuid}"]}},"response":[]}]},{"name":"Repository IP rules","description":"Allow-list of IPv4, IPv6, and CIDR ranges. Empty list means no extra IP restriction. IP rules never replace authentication.","item":[{"name":"List IP rules","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/ip-rules","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","ip-rules"]}},"response":[]},{"name":"Add an IP rule","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/ip-rules","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","ip-rules"]},"body":{"mode":"raw","raw":"{\n    \"ip_range\": \"203.0.113.0\/24\",\n    \"description\": \"Office\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Remove an IP rule","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/ip-rules\/{ipRuleUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","ip-rules","{ipRuleUuid}"]}},"response":[]}]},{"name":"Repository access","description":"Member and access-key assignments. Access keys from another organization are rejected. Secrets are never returned here.","item":[{"name":"List access grants","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/access","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","access"]}},"response":[]},{"name":"Assign access","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/access","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","access"]},"body":{"mode":"raw","raw":"{\n    \"subject_type\": \"organization_member\",\n    \"subject_id\": 12,\n    \"access_level\": \"write\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Revoke access","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/access\/{accessUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","access","{accessUuid}"]}},"response":[]},{"name":"List assigned access keys","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/access-keys","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","access-keys"]}},"response":[]},{"name":"Assign an access key","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/access-keys","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","access-keys"]},"body":{"mode":"raw","raw":"{\n    \"access_key_uuid\": \"\u2026\",\n    \"access_level\": \"read\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Revoke an access-key assignment","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/access-keys\/{assignmentUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","access-keys","{assignmentUuid}"]}},"response":[]}]},{"name":"Packages","description":"Composer or NPM packages inside a repository. Package type always matches the repository type.","item":[{"name":"List packages","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages"]}},"response":[]},{"name":"Create a package","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"acme\/module-catalog\",\n    \"source_type\": \"manual_upload\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Get a package","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}"]}},"response":[]},{"name":"Update a package","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}"]},"body":{"mode":"raw","raw":"{\n    \"display_name\": \"Catalog\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Deprecate a package","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/deprecate","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","deprecate"]},"body":{"mode":"raw","raw":"{\n    \"message\": \"Use catalog-next\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Archive a package","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}"]}},"response":[]}]},{"name":"Package sources","description":"Manual upload or Git. Providers are github, bitbucket, gitlab, generic_git. Secrets are never stored or returned.","item":[{"name":"List sources","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources"]}},"response":[]},{"name":"Add a source","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources"]},"body":{"mode":"raw","raw":"{\n    \"source_type\": \"git\",\n    \"provider\": \"github\",\n    \"repository_url\": \"https:\/\/github.com\/acme\/module-catalog.git\",\n    \"package_path\": \".\",\n    \"credential_uuid\": \"\u2026\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Rotate credential","request":{"method":"PUT","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources\/{sourceUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources","{sourceUuid}"]},"body":{"mode":"raw","raw":"{\n    \"credential_uuid\": \"\u2026\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Disconnect a source","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources\/{sourceUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources","{sourceUuid}"]}},"response":[]},{"name":"Test connection","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources\/{sourceUuid}\/test","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources","{sourceUuid}","test"]}},"response":[]},{"name":"Sync tags","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources\/{sourceUuid}\/sync","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources","{sourceUuid}","sync"]}},"response":[]},{"name":"List remote refs","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/sources\/{sourceUuid}\/references","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","sources","{sourceUuid}","references"]}},"response":[]}]},{"name":"Package versions","description":"Immutable published artifacts. Manual ZIP\/TGZ upload and Git import converge on the same version model.","item":[{"name":"List versions","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions"]}},"response":[]},{"name":"Publish a manual version","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"multipart\/form-data","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions"]}},"response":[]},{"name":"Import from Git","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions\/import","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions","import"]},"body":{"mode":"raw","raw":"{\n    \"reference_type\": \"tag\",\n    \"reference\": \"v1.2.0\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Get a version","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions\/{versionUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions","{versionUuid}"]}},"response":[]},{"name":"Deprecate a version","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions\/{versionUuid}\/deprecate","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions","{versionUuid}","deprecate"]},"body":{"mode":"raw","raw":"{\n    \"message\": \"Use 1.2.1\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Archive a version","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions\/{versionUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions","{versionUuid}"]}},"response":[]}]},{"name":"NPM dist-tags","description":"Maps tags such as latest to a package version. Composer packages do not use dist-tags.","item":[{"name":"List dist-tags","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/dist-tags","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","dist-tags"]}},"response":[]},{"name":"Set a dist-tag","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/dist-tags","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","dist-tags"]},"body":{"mode":"raw","raw":"{\n    \"tag\": \"latest\",\n    \"version_uuid\": \"\u2026\"\n}","options":{"raw":{"language":"json"}}}},"response":[]}]},{"name":"Authentication","description":"Organization user login, password reset, and the current access context. Composer and NPM use the same Bearer tokens.","item":[{"name":"Sign in","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/auth\/login","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","auth","login"]},"body":{"mode":"raw","raw":"{\n    \"email\": \"dev@acme.test\",\n    \"password\": \"your-password\",\n    \"organization_uuid\": \"\u2026\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Sign out","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/auth\/logout","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","auth","logout"]}},"response":[]},{"name":"Current context","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/auth\/me","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","auth","me"]}},"response":[]},{"name":"Request password reset","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/auth\/forgot-password","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","auth","forgot-password"]},"body":{"mode":"raw","raw":"{\n    \"email\": \"dev@acme.test\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Reset password","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/auth\/reset-password","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","auth","reset-password"]},"body":{"mode":"raw","raw":"{\n    \"email\": \"dev@acme.test\",\n    \"token\": \"\u2026\",\n    \"password\": \"new-password-12\",\n    \"password_confirmation\": \"new-password-12\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Change password","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/auth\/change-password","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","auth","change-password"]},"body":{"mode":"raw","raw":"{\n    \"current_password\": \"your-password\",\n    \"password\": \"changed-password-12\",\n    \"password_confirmation\": \"changed-password-12\"\n}","options":{"raw":{"language":"json"}}}},"response":[]}]},{"name":"Access tokens","description":"Hashed `rt_live_` Bearer tokens for users, admins, repositories, and integrations. HTTP Basic username `token` plus the secret is also accepted. Query-string tokens are rejected.","item":[{"name":"List tokens","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-tokens","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-tokens"]}},"response":[]},{"name":"Create a token","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-tokens","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-tokens"]},"body":{"mode":"raw","raw":"{\n    \"name\": \"Production Composer\",\n    \"token_type\": \"repository\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Get a token","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-tokens\/{tokenUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-tokens","{tokenUuid}"]}},"response":[]},{"name":"Revoke a token","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-tokens\/{tokenUuid}\/revoke","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-tokens","{tokenUuid}","revoke"]}},"response":[]},{"name":"Rotate a token","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/access-tokens\/{tokenUuid}\/rotate","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","access-tokens","{tokenUuid}","rotate"]}},"response":[]},{"name":"Authentication logs","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/authentication-logs","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","authentication-logs"]}},"response":[]},{"name":"Authorize repository access","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/authorize","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","authorize"]}},"response":[]}]},{"name":"Downloads","description":"Owner, admin, or developer artifact delivery and history. Composer\/NPM protocol clients may also use a repository token with a Read grant on the stream URLs. Artifacts are streamed through the application; raw storage URLs are never returned.","item":[{"name":"Download a version artifact","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/packages\/{packageUuid}\/versions\/{versionUuid}\/download","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","packages","{packageUuid}","versions","{versionUuid}","download"]}},"response":[]},{"name":"Download an artifact","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/repositories\/{repositoryUuid}\/artifacts\/{artifactUuid}\/download","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","repositories","{repositoryUuid}","artifacts","{artifactUuid}","download"]}},"response":[]},{"name":"List downloads","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/downloads","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","downloads"]}},"response":[]},{"name":"Get a download","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/downloads\/{downloadUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","downloads","{downloadUuid}"]}},"response":[]}]},{"name":"Usage & entitlements","description":"Owner or admin usage and entitlement read APIs. Usage is consumed. Entitlement is allowed. Plan catalog plus organization overrides. Organization users cannot change plan limits.","item":[{"name":"List usage","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/usage","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","usage"]}},"response":[]},{"name":"Get a usage metric","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/usage\/{code}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","usage","{code}"]}},"response":[]},{"name":"Usage events","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/usage\/history","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","usage","history"]}},"response":[]},{"name":"Usage snapshots","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/usage\/snapshots","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","usage","snapshots"]}},"response":[]},{"name":"List entitlements","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/entitlements","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","entitlements"]}},"response":[]},{"name":"Get an entitlement","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/entitlements\/{code}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","entitlements","{code}"]}},"response":[]}]},{"name":"Operations","description":"Owner or admin tracking, cancel, and retry for long-running organization work. Creation happens through business modules such as repository sync or usage recalculation.","item":[{"name":"List operations","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/operations","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","operations"]}},"response":[]},{"name":"Get an operation","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/operations\/{operationUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","operations","{operationUuid}"]}},"response":[]},{"name":"Cancel an operation","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/operations\/{operationUuid}\/cancel","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","operations","{operationUuid}","cancel"]}},"response":[]},{"name":"Retry a failed operation","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/operations\/{operationUuid}\/retry","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","operations","{operationUuid}","retry"]}},"response":[]}]},{"name":"Repository protocol","description":"Composer and NPM metadata for private repositories. Owner, admin, and developer can read it. Dist and tarball URLs point at the Download API. Metadata requests are not counted as package downloads.","item":[{"name":"Composer packages.json","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/r\/{repositoryCode}\/packages.json","protocol":"http","host":["api1","truerepos","com"],"path":["r","{repositoryCode}","packages.json"]}},"response":[]},{"name":"Composer package metadata","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/r\/{repositoryCode}\/p2\/{vendor}\/{package}.json","protocol":"http","host":["api1","truerepos","com"],"path":["r","{repositoryCode}","p2","{vendor}","{package}.json"]}},"response":[]},{"name":"NPM package metadata","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/npm\/{repositoryCode}\/{package}","protocol":"http","host":["api1","truerepos","com"],"path":["npm","{repositoryCode}","{package}"]}},"response":[]},{"name":"Scoped NPM package metadata","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/npm\/{repositoryCode}\/@{scope}\/{package}","protocol":"http","host":["api1","truerepos","com"],"path":["npm","{repositoryCode}","@{scope}","{package}"]}},"response":[]}]},{"name":"Integration API","description":"Versioned Billing \u2194 Repository synchronization. Authenticates an integration, not a customer user. Business rules stay in Organization, Repository, Package, and Entitlement modules.","item":[{"name":"Synchronize an organization","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/organizations","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","organizations"]}},"response":[]},{"name":"Get an organization","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/organizations\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","organizations","{{organizationUuid}}"]}},"response":[]},{"name":"Update organization status or plan","request":{"method":"PATCH","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/organizations\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","organizations","{{organizationUuid}}"]}},"response":[]},{"name":"Synchronize a repository","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/organizations\/{{organizationUuid}}\/repositories","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","organizations","{{organizationUuid}}","repositories"]}},"response":[]},{"name":"Get a repository","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/repositories\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","repositories","{{organizationUuid}}"]}},"response":[]},{"name":"Update or archive a repository","request":{"method":"PATCH","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/repositories\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","repositories","{{organizationUuid}}"]}},"response":[]},{"name":"Synchronize a package","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/repositories\/{{organizationUuid}}\/packages","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","repositories","{{organizationUuid}}","packages"]}},"response":[]},{"name":"Receive a signed webhook","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/integration\/v1\/hooks","protocol":"http","host":["api1","truerepos","com"],"path":["api","integration","v1","hooks"]}},"response":[]}]},{"name":"Custom domains","description":"Owner or admin hostnames that resolve Composer and NPM to the same repositories as the default RepoTree host. Entitlement decides eligibility. Access, downloads, and usage stay in their modules.","item":[{"name":"List custom domains","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains"]}},"response":[]},{"name":"Add a custom domain","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains"]},"body":{"mode":"raw","raw":"{\n    \"domain\": \"packages.customer.com\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Get a custom domain","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains\/{domainUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains","{domainUuid}"]}},"response":[]},{"name":"Verify DNS","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains\/{domainUuid}\/verify","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains","{domainUuid}","verify"]}},"response":[]},{"name":"Activate a verified domain","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains\/{domainUuid}\/activate","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains","{domainUuid}","activate"]}},"response":[]},{"name":"Update a custom domain","request":{"method":"PATCH","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains\/{domainUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains","{domainUuid}"]},"body":{"mode":"raw","raw":"{\n    \"is_primary\": true\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Set the primary domain","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains\/{domainUuid}\/set-primary","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains","{domainUuid}","set-primary"]}},"response":[]},{"name":"Remove a custom domain","request":{"method":"DELETE","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/custom-domains\/{domainUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","custom-domains","{domainUuid}"]}},"response":[]}]},{"name":"Audit logs","description":"Owner or admin organization-scoped security and accountability events. Usage metrics and application diagnostics are not duplicated here. Records cannot be updated or deleted through the API.","item":[{"name":"List audit logs","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/audit-logs","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","audit-logs"]}},"response":[]},{"name":"Get an audit record","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/organizations\/{{organizationUuid}}\/audit-logs\/{auditUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","organizations","{{organizationUuid}}","audit-logs","{auditUuid}"]}},"response":[]}]},{"name":"Notifications","description":"Owner or admin personal notification inbox and channel preferences. Notifications are user-scoped, not organization-scoped. Developers and viewers cannot access this inbox. Delivery happens through email and in-app channels queued on the existing operation queues.","item":[{"name":"List notifications","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notifications","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notifications"]}},"response":[]},{"name":"Unread count","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notifications\/unread-count","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notifications","unread-count"]}},"response":[]},{"name":"Get a notification","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notifications\/{notificationUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notifications","{notificationUuid}"]}},"response":[]},{"name":"Mark as read","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notifications\/{notificationUuid}\/read","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notifications","{notificationUuid}","read"]}},"response":[]},{"name":"Mark all as read","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notifications\/read-all","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notifications","read-all"]}},"response":[]},{"name":"List preferences","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notification-preferences","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notification-preferences"]}},"response":[]},{"name":"Update preferences","request":{"method":"PATCH","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/notification-preferences","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","notification-preferences"]},"body":{"mode":"raw","raw":"{\n    \"preferences\": {\n        \"storage.limit_warning\": {\n            \"email\": true,\n            \"in_app\": true\n        }\n    }\n}","options":{"raw":{"language":"json"}}}},"response":[]}]},{"name":"Admin panel","description":"Administrative orchestration for dashboard statistics, profile, sessions, search, system health, and operation monitoring. Domain modules remain the source of truth.","item":[{"name":"Platform statistics with optional period=today|7d|30d|90d|custom","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/dashboard","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","dashboard"]}},"response":[]},{"name":"Current administrator profile. Password hashes are never returned.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/profile","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","profile"]}},"response":[]},{"name":"Update name, timezone, and locale. Protected fields are ignored.","request":{"method":"PATCH","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/profile","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","profile"]}},"response":[]},{"name":"Change password. Requires current_password. Other sessions are revoked.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/profile\/password","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","profile","password"]},"body":{"mode":"raw","raw":"{\n    \"current_password\": \"...\",\n    \"password\": \"...\",\n    \"password_confirmation\": \"...\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Request an email change. A hashed verification token is mailed; the email is not replaced immediately.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/profile\/email\/change","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","profile","email","change"]},"body":{"mode":"raw","raw":"{\n    \"email\": \"new-admin@example.com\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Confirm an email change with the mailed token.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/profile\/email\/confirm","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","profile","email","confirm"]}},"response":[]},{"name":"Always returns a generic message. Does not reveal whether the email exists.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/auth\/forgot-password","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","auth","forgot-password"]},"body":{"mode":"raw","raw":"{\n    \"email\": \"admin@example.com\"\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Reset with token, OTP code, and a policy-compliant password. Tokens are single-use.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/auth\/reset-password","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","auth","reset-password"]}},"response":[]},{"name":"List administrator sessions. The current session is marked current=true.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/sessions","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","sessions"]}},"response":[]},{"name":"Revoke another session. The current session cannot be revoked here.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/sessions\/{id}\/revoke","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","sessions","{id}","revoke"]}},"response":[]},{"name":"Revoke every other session and keep the current one.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/sessions\/revoke-all","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","sessions","revoke-all"]}},"response":[]},{"name":"UI preferences: timezone, locale, dashboard period, items per page.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/preferences","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","preferences"]}},"response":[]},{"name":"Update UI preferences. Notification channel preferences stay in the Notification module.","request":{"method":"PATCH","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/preferences","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","preferences"]}},"response":[]},{"name":"Paginated audit_logs for administrators. Filter by event, action, resource_type, status, actor, date_from, date_to.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/activity","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","activity"]}},"response":[]},{"name":"Grouped search across approved fields. Query q is required (min 2 characters).","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/search","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","search"]}},"response":[]},{"name":"Lightweight health of application, database, cache, queue, storage, and mail. Secrets are never included.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/system\/health","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","system","health"]}},"response":[]},{"name":"Aggregated organization overview from existing domain modules.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/organizations\/{{organizationUuid}}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","organizations","{{organizationUuid}}"]}},"response":[]},{"name":"Paginated operations. Filter status, operation_type, organization, created_from, created_to. Metadata is omitted from the list.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/operations","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","operations"]}},"response":[]},{"name":"Operation detail with sanitized metadata.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/operations\/{operationUuid}","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","operations","{operationUuid}"]}},"response":[]},{"name":"Retry using the Operation module.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/operations\/{operationUuid}\/retry","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","operations","{operationUuid}","retry"]}},"response":[]},{"name":"Cancel using the Operation module.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/operations\/{operationUuid}\/cancel","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","operations","{operationUuid}","cancel"]}},"response":[]},{"name":"Administrator inbox from the Notification module.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/notifications","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","notifications"]}},"response":[]},{"name":"Unread administrator notification count.","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/notifications\/unread-count","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","notifications","unread-count"]}},"response":[]},{"name":"Mark an administrator notification as read.","request":{"method":"POST","header":[{"key":"Accept","value":"application\/json","type":"text"},{"key":"Authorization","value":"Bearer {{bearerToken}}","type":"text"}],"url":{"raw":"http:\/\/api1.truerepos.com\/api\/v1\/admin\/notifications\/{notificationUuid}\/read","protocol":"http","host":["api1","truerepos","com"],"path":["api","v1","admin","notifications","{notificationUuid}","read"]}},"response":[]}]}]}