New! Use the 1Password Credential Broker to give CI/CD and other machine workflows short-lived access to secrets, without managing service account tokens.
Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.
The following conventions apply across the 1Password Accounts API for Partners.
Authentication
The Accounts API authorizes requests with a bearer token. When your organization registers as a distributor, you’ll receive an opaque bearer token, prefixed with op_b_. Include this token in the Authorization header of every request, prefixed with Bearer:
Treat your bearer token like a password. Store it securely (for example, in a 1Password vault) and never expose it in client-side code, logs, or source control.
The basic structure of an endpoint URL for the Accounts API includes the base URL and the endpoint path. The endpoint path includes the API endpoint version, the resource(s) you want to access, and any relevant path parameters.
Base URL
All requests to the Accounts API use the 1Password.eu base URL, https://api.1password.eu, regardless of the region of your 1Password account or your customers’ accounts. The product_id you provision determines the region where a customer’s 1Password account is created.All communication with the API is over HTTPS.
Endpoint path
The endpoint path is appended to the base URL and includes the endpoint version, target resource path, and any path parameters. For example, the endpoint path to list usage for a specific customer would look like this:
The {distributor-customer} path parameter is your own identifier for the customer, as defined in your marketplace system — 1Password doesn’t validate it against a customer registry. Some list endpoints also accept - as a wildcard to query across all of your customers.See the API reference documentation for more information about each endpoint.
Requests
Request methods
Requests to the Accounts API use standard HTTP methods:
Authorization: Required on every request. Use this header with your bearer token to authenticate your API requests.
Content-Type: application/json: Required for POST and PATCH requests. Use this header for requests that send a JSON body. GET and DELETE requests don’t include a body.
Request bodies
POST and PATCH requests send a JSON object in the request body. Check the API reference documentation for the fields each endpoint accepts.The API silently ignores unknown fields in request bodies, so make sure your field names are correct. A misspelled field name is ignored without an error and the value isn’t applied.GET and DELETE requests don’t include a request body.
Query parameters
You can use query parameters in your API request as optional modifiers after the endpoint path. Use a ? query separator at the end of the endpoint path, then add any query parameters you want to include, separated by a & query delimiter.For example, if you want to retrieve a list of product usage data for all customers, you could use query parameters to filter the results by billing cycle and set the maximum number of results to return per page:
GET https://api.1password.eu/v1/distributor-customers/-/usage?filter=billing_cycle == '2026-04'&max_page_size=20
Make sure your client URL-encodes query parameter values. Filter expressions contain spaces and special characters, so the request above is sent as:
GET https://api.1password.eu/v1/distributor-customers/-/usage?filter=billing_cycle%20%3D%3D%20%272026-04%27&max_page_size=20
List entitlements: Filters on entitlement fields. For example, status == 'active' returns only active entitlements. When omitted, entitlements of all statuses are returned. See the entitlement statuses section to learn about all the possible status values.
List customer usage: Filters by billing cycle using billing_cycle == 'YYYY-MM'. For example, billing_cycle == '2026-04'. When omitted, usage defaults to the current billing cycle in UTC. There’s no lookback limit on historical billing cycles.
All list endpoints (entitlements, customer usage, and products) support pagination. Use these query parameters to page through results:
max_page_size: The maximum number of results to return per page. Defaults to 100; values above 100 are clamped to 100. Omitting the parameter or setting it to 0 uses the default.
page_token: The token that identifies the page of results to return.
Each list response includes an opaque next_page_token. To retrieve the next page, send the same request with page_token set to that value. When next_page_token is empty, there are no more results.The API uses cursor-based pagination. Each token marks where the previous page left off, so paging stays consistent even if results change between page requests. Items already returned aren’t repeated on later pages, and items aren’t skipped if others are created or cancelled while you page.
Responses
The API returns JSON for all responses, except rate-limit errors, which return plain text.A successful request returns 200 OK.Create, update, and cancel operations return the affected entitlement in the response body, so you can read back its server-assigned fields, such as id, create_time, and the current status. Link operations return the entitlement inside an entitlement object. For example, a successful create request returns:
Timestamps are returned in RFC 3339 format, for example 2026-01-23T15:55:58Z.
Rate limits
Requests to the Accounts API are rate limited to 1,000 requests per minute, per distributor. There’s no separate hourly limit.If you exceed the allowed rate, the API returns a 429 Too Many Requests response with a Retry-After header that indicates how long to wait before retrying. Unlike other error responses, the 429 response body is plain text, not JSON.
Errors
The API uses standard HTTP status codes to indicate the result of a request. A 2xx code indicates success. A 4xx code indicates a problem with the request (for example, missing authentication or invalid input). A 5xx code indicates an unexpected server error.Most error responses include a JSON body with a machine-readable code and a human-readable message:
{ "code": "not_found", "message": "The requested resource was not found."}
The error response format, including the code and message fields, is provisional and may change in a future release. Use the HTTP status code to handle errors in your integration, and don’t rely on the text of the message field.
Status
Code
Meaning
400
invalid_argument
A request parameter or body field is invalid.
401
unauthenticated
Missing or invalid credentials.
404
not_found
The resource doesn’t exist.
409
already_exists
The resource already exists — for example, an entitlement for the product already exists.
500
internal
An internal error occurred. Retry the request later.
429 Too Many Requests responses don’t use this JSON format. See the rate limits section for more information about this error response.
Entitlement statuses
An entitlement’s status field reflects its position in the lifecycle:
Status
Meaning
pending
The entitlement has been created and is waiting for the customer to activate it (or, for linked entitlements, claim the entitlement code). Only pending entitlements can be updated.
active
The entitlement is active and the product is provisioned.
cancelling
Cancellation has been initiated. Background processing completes it and transitions the status to cancelled.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"1Password Developer","description":"Developer docs for 1Password. Keep secrets out of your code with the CLI, SSH agent, Environments, service accounts, SDKs, and tools for AI agents.","colors":{"primary":"#145FE4","light":"#b8d7ff","dark":"#303136"},"logo":{"light":"https://mintcdn.com/ab-634991b8/tWWm5UFlpZQ9nof8/images/logo-1password-dark.svg?fit=max\u0026auto=format\u0026n=tWWm5UFlpZQ9nof8\u0026q=85\u0026s=2c2acc6dc5f817defe70ebdef67c9b11","dark":"https://mintcdn.com/ab-634991b8/tWWm5UFlpZQ9nof8/images/logo-1password-light.svg?fit=max\u0026auto=format\u0026n=tWWm5UFlpZQ9nof8\u0026q=85\u0026s=0dae06f9dd5b1f569de5cb9fba337405"},"favicon":"https://mintcdn.com/ab-634991b8/s4Wjy03jBRs6hcHb/favicon.ico?fit=max\u0026auto=format\u0026n=s4Wjy03jBRs6hcHb\u0026q=85\u0026s=dd03b4bc604b342373aa4d3e21be4310","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","node","python","go","dotnet","java","php","powershell","ruby"]}},"background":{"color":{"light":"#ffffff","dark":"#1a1b1e"}},"navbar":{"links":[{"icon":"github","href":"https://github.com/1Password","label":"GitHub"},{"icon":"slack","href":"https://www.1password.dev/joinslack","label":"Join Slack"}],"primary":{"type":"button","label":"Try free","href":"https://1password.com/pricing/business"}},"footer":{"socials":{"github":"https://github.com/1Password","x":"https://x.com/1PasswordDev","reddit":"https://www.reddit.com/r/1Password","linkedin":"https://www.linkedin.com/company/1password","youtube":"https://www.youtube.com/1PasswordVideos","facebook":"https://www.facebook.com/1Password","instagram":"https://www.instagram.com/1password"},"links":[{"header":"Get started","items":[{"label":"Developer quickstart","href":"/get-started/developer-quickstart"},{"label":"Admin quickstart","href":"/get-started/administrator-quickstart"},{"label":"Partner quickstart","href":"/get-started/partner-quickstart"},{"label":"All setup guides","href":"/get-started"}]},{"header":"Help and resources","items":[{"label":"CLI troubleshooting","href":"/cli/app-integration"},{"label":"SSH troubleshooting","href":"/ssh/agent/troubleshooting"},{"label":"System status","href":"https://status.1password.com"},{"label":"CLI release notes","href":"/cli/release-notes"},{"label":"1Password University","href":"https://www.1password.university/?utm_ref=website-footer"},{"label":"Blog","href":"https://blog.1password.com"}]},{"header":"Community","items":[{"label":"Developer community","href":"/community"},{"label":"Events","href":"https://luma.com/1password"},{"label":"Developer Slack","href":"/joinslack"},{"label":"Newsletter","href":"https://1password.com/developer-newsletter"},{"label":"Code of Conduct","href":"/code-of-conduct"},{"label":"Projects disclaimer","href":"/community/disclaimer"}]},{"header":"Legal","items":[{"label":"Terms of Service","href":"https://1password.com/legal/terms-of-service"},{"label":"Privacy Policy","href":"https://1password.com/legal/privacy"},{"label":"Cookie Policy","href":"https://1password.com/legal/cookies"},{"label":"Accessibility","href":"https://1password.com/legal/accessibility"}]}]},"seo":{"metatags":{"canonical":"https://www.1password.dev","google-site-verification":"YserOhXnJUjFfIZ4K3qgxkVSlQZQdXtIbBiKzZ35Nvs"}},"fonts":{"heading":{"family":"Public Sans"},"body":{"family":"Public Sans"}},"banner":{"content":"**New!** Use the [1Password Credential Broker](https://www.1password.dev/brokered-access) to give CI/CD and other machine workflows short-lived access to secrets, without managing service account tokens.","dismissible":true,"color":{"light":"#145fe4","dark":"#145fe4"}},"errors":{"404":{"redirect":false,"title":"This page can't be found","description":"Our docs have moved to [www.1password.dev](https://www.1password.dev). Try searching for what you need or selecting from the list of tools."}},"contextual":{"options":["copy","view","mcp","cursor","vscode","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ab-634991b8","hasAudioNarration":false,"actualSubdomain":"ab-634991b8","customDomains":["www.1password.dev"],"gitSource":{"type":"github","owner":"1password","repo":"1password.dev","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"contextualFeedback":{"allowEmail":false},"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4cc23835e7d1bb15472d7","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"CLI","count":320},{"language":"default","tag":"SDKs \u0026 APIs","count":120},{"language":"default","tag":"Shell Plugins","count":104},{"language":"default","tag":"Plugins","count":97},{"language":"default","tag":"CI/CD \u0026 infrastructure","count":92},{"language":"default","tag":"SaaS Manager API","count":88},{"language":"default","tag":"API Reference","count":64},{"language":"default","tag":"Reference","count":56},{"language":"default","tag":"SDKs","count":51},{"language":"default","tag":"Events API","count":44}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@1password.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":":root{--op-secure-blue: #104ebb;--op-secure-blue-hover: #0e46a8;--op-iron-ore: #303136;--op-page-bg-dark: #1a1b1e;--op-white: #ffffff;--op-icy-blue: #dcebff;--op-cornflower: #b8d7ff;--op-biscuit: #fbf8f4;--op-sunbeam: #fad785;--op-tangerine: #ff8f78;--op-enable-mint: #76e0bd;--op-gold: #cbb88e;--op-status-success: #10622f;--op-status-warning: #8a4006;--op-status-error: #a71c1c;--op-status-info: var(--op-secure-blue);--op-border-ui: #949494;--op-border-ui-dark: #6b7280;--op-border-subtle: rgb(3 7 18 / 0.12);--op-border-subtle-dark: rgb(251 248 244 / 0.25);--op-border-footer-dark: rgb(251 248 244 / 0.37);--op-border-navbar-light: rgb(107 114 128 / 0.05);--op-border-navbar-dark: rgb(209 213 219 / 0.06);--op-border-card-light: rgb(3 7 18 / 0.1);--op-border-card-dark: rgb(255 255 255 / 0.1);--op-border-hero-light: rgb(255 255 255 / 0.08);--op-border-hero-dark: rgb(255 255 255 / 0.12);--op-border-badge-light: rgb(16 78 187 / 0.2);--op-border-badge-dark: rgb(184 215 255 / 0.25);--op-border-workflow-dark: rgb(251 248 244 / 0.2);--op-text-body: var(--op-iron-ore);--op-text-body-dark: var(--op-biscuit);--op-surface-card-light: var(--op-white);--op-surface-card-dark: #25262a;--op-surface-callout-light: rgb(220 235 255 / 0.45);--op-surface-callout-dark: rgb(184 215 255 / 0.08)}#content.prose{--tw-prose-body: var(--op-text-body)}.dark #content.prose{--tw-prose-body: var(--op-text-body-dark)}#content.prose :where(p,span[data-as=\"p\"],li,td,th,blockquote,figcaption):not(a.op-cta-primary span){color:var(--op-text-body)}.dark #content.prose :where(p,span[data-as=\"p\"],li,td,th,blockquote,figcaption):not(a.op-cta-primary span){color:var(--op-text-body-dark)}#content :is(p,li,div,span,button,h1,h2,h3,h4,h5,h6).text-gray-600,#content :is(p,li,div,span,button,h1,h2,h3,h4,h5,h6).text-gray-700,#content :is(p,li,span,button,h1,h2,h3,h4,h5,h6).text-gray-500{color:var(--op-text-body)}.dark #content :is(p,li,div,span,button,h1,h2,h3,h4,h5,h6).dark\\:text-gray-400,.dark #content :is(p,li,div,span,button,h1,h2,h3,h4,h5,h6).dark\\:text-gray-300,.dark #content :is(p,li,span,button,h1,h2,h3,h4,h5,h6).dark\\:text-gray-500{color:var(--op-text-body-dark)}#content .text-gray-400:not(:is(p,li,span,button,h1,h2,h3,h4,h5,h6)){color:var(--op-border-ui)}.dark #content .text-gray-400:not(:is(p,li,span,button,h1,h2,h3,h4,h5,h6)),.dark #content .text-gray-500:not(:is(p,li,span,button,h1,h2,h3,h4,h5,h6)){color:var(--op-border-ui-dark)}.dark .card-group{--background-dark: 37 38 42}.dark .card-group .card{background-color:rgb(var(--background-dark))!important}.card-group .card{border-color:var(--op-border-card-light)!important}.dark .card-group .card{border-color:var(--op-border-card-dark)!important}.op-card-surface{border:1px solid var(--op-border-card-light)}.dark .op-card-surface{border-color:var(--op-border-card-dark)}#content .hover\\:border-gray-300:hover{border-color:var(--op-iron-ore)}.dark #content .hover\\:border-gray-600:hover{border-color:var(--op-biscuit)}.community-card{border:1px solid var(--op-border-card-light);border-radius:0.5rem;background-color:var(--op-surface-card-light)}.dark .community-card{border-color:var(--op-border-card-dark);background-color:var(--op-surface-card-dark)}.community-card .community-card-chevron{color:var(--op-border-ui)}.dark .community-card .community-card-chevron{color:var(--op-cornflower)}a.community-card:hover{border-color:var(--op-secure-blue)}.dark a.community-card:hover{border-color:var(--op-cornflower)}.community-callout{border:1px solid var(--op-border-card-light);border-radius:0.5rem;background-color:var(--op-surface-callout-light)}.dark .community-callout{border-color:var(--op-border-card-dark);background-color:var(--op-surface-callout-dark)}.community-link{color:var(--op-secure-blue);text-decoration:none}.community-link:hover{color:var(--op-secure-blue-hover);text-decoration:underline}.dark .community-link{color:var(--op-cornflower)}.dark .community-link:hover{color:var(--op-white)}:is(#sidebar-content a:not([aria-current=\"page\"]),#table-of-contents,#table-of-contents a,#navbar .nav-tabs-item:not([data-active]),#navbar nav ul>li:not(#topbar-cta-button)>a,#search-bar-entry,#search-bar-entry-mobile,#assistant-entry,#assistant-entry-mobile,[data-component-name=\"theme-toggle\"]){color:var(--op-text-body)}.dark :is(#sidebar-content a:not([aria-current=\"page\"]),#table-of-contents,#table-of-contents a,#navbar .nav-tabs-item:not([data-active]),#navbar nav ul>li:not(#topbar-cta-button)>a,#search-bar-entry,#search-bar-entry-mobile,#assistant-entry,#assistant-entry-mobile,[data-component-name=\"theme-toggle\"]){color:var(--op-text-body-dark)}:is(#search-bar-entry,#search-bar-entry-mobile,#assistant-entry,#assistant-entry-mobile,[data-component-name=\"theme-toggle\"]) svg{color:inherit}#footer a.h-fit svg{background-color:var(--op-biscuit)}#footer a.h-fit:hover svg{background-color:var(--op-white)}.hero-background{background-color:var(--op-iron-ore);background-image:radial-gradient(\n ellipse 75% 100% at 100% 50%,\n rgb(20 95 228 / 0.55) 0%,\n rgb(20 95 228 / 0.2) 40%,\n transparent 70%\n )}.dark .hero-background{background-color:var(--op-page-bg-dark);background-image:radial-gradient(\n ellipse 80% 100% at 100% 50%,\n rgb(20 95 228 / 0.7) 0%,\n rgb(20 95 228 / 0.3) 45%,\n transparent 75%\n )}.hero-section{border-bottom:1px solid var(--op-border-hero-light)}.dark .hero-section{border-bottom-color:var(--op-border-hero-dark)}.hero-cta{background-color:var(--op-secure-blue);color:var(--op-white);box-shadow:0 1px 3px rgb(0 0 0 / 0.25)}.hero-cta svg,.hero-cta svg path{fill:currentColor!important;color:currentColor!important}.hero-cta:hover{background-color:var(--op-secure-blue-hover)}#content.prose a.op-cta-primary,#content a.op-cta-primary{background-color:var(--op-secure-blue);color:var(--op-white)!important;text-decoration:none}#content.prose a.op-cta-primary span[data-as=\"p\"],#content.prose a.op-cta-primary span,#content a.op-cta-primary span[data-as=\"p\"],#content a.op-cta-primary span{color:var(--op-white)!important}#content.prose a.op-cta-primary:hover,#content a.op-cta-primary:hover{background-color:var(--op-secure-blue-hover);color:var(--op-white)!important}#content.prose a.op-cta-primary:hover span[data-as=\"p\"],#content.prose a.op-cta-primary:hover span,#content a.op-cta-primary:hover span[data-as=\"p\"],#content a.op-cta-primary:hover span{color:var(--op-white)!important}#topbar-cta-button a>span.absolute{background-color:var(--op-secure-blue)!important}#topbar-cta-button a:hover>span.absolute{background-color:var(--op-secure-blue-hover)!important}#topbar-cta-button a span.z-10{color:var(--op-white)!important}#topbar-cta-button a svg{color:var(--op-white)!important}.card-group{gap:1rem}#content .card-group img[src*=\"/homepage-icons/brand/\"]{width:32px;height:32px;flex-shrink:0}.homepage-card-title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0.25rem 0.5rem}.image-button-link img{margin:10px 0}.dark #content a>div>span{color:var(--op-cornflower)!important}.docs-higlight-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));gap:1rem;margin-bottom:1rem}.highlight-card-link{color:var(--op-secure-blue)!important}.highlight-card-link:hover{color:var(--op-secure-blue-hover)!important}.dark .highlight-card-link{color:var(--op-cornflower)!important}.dark .highlight-card-link:hover{color:var(--op-white)!important}.highlight-card-link svg{background-color:var(--op-secure-blue)!important}.dark .highlight-card-link svg{background-color:var(--op-cornflower)!important}.coloredCodeWrapper .code-block>div:nth-child(3){--fade-color-light: transparent !important;--fade-color-dark: transparent !important}.badge{border-radius:0.4rem;color:var(--op-white);font-weight:700;line-height:1;padding:3px 5px}.badge--primary{background-color:var(--op-secure-blue)}.badge--secondary{background-color:var(--op-biscuit);color:var(--op-iron-ore)}.op-status-badge{display:inline-flex;flex-shrink:0;align-items:center;white-space:nowrap;vertical-align:middle;border:1px solid var(--op-border-badge-light);border-radius:0.25rem;background-color:var(--op-icy-blue);color:var(--op-iron-ore);padding:0.125rem 0.625rem;font-size:0.75rem;line-height:1rem;font-weight:600}.dark .op-status-badge{border-color:var(--op-border-badge-dark);background-color:rgb(184 215 255 / 0.12);color:var(--op-icy-blue)}.op-workflow-guide-badge{display:inline-flex;flex-shrink:0;align-items:center;white-space:nowrap;margin-top:0.75rem;border:1px solid transparent;border-radius:0.25rem;background-color:var(--op-biscuit);color:var(--op-iron-ore);padding:0.125rem 0.625rem;font-size:0.75rem;line-height:1rem;font-weight:600}.dark .op-workflow-guide-badge{border-color:var(--op-border-workflow-dark);background-color:rgb(251 248 244 / 0.1);color:var(--op-biscuit)}.op-beta-badge-inline{display:inline-flex;align-items:center;margin-left:0.5rem;vertical-align:middle}.mdx-content a[href^=\"http\"]:not([href*=\"://1password.com/\"],[href$=\"://1password.com\"],[href*=\".1password.com/\"],[href$=\".1password.com\"],[href*=\"://1password.dev/\"],[href$=\"://1password.dev\"],[href*=\".1password.dev/\"],[href$=\".1password.dev\"],[href*=\"://1password.ca/\"],[href$=\"://1password.ca\"],[href*=\".1password.ca/\"],[href$=\".1password.ca\"],[href*=\"://1password.eu/\"],[href$=\"://1password.eu\"],[href*=\".1password.eu/\"],[href$=\".1password.eu\"],[href*=\"://1password.io/\"],[href$=\"://1password.io\"],[href*=\".1password.io/\"],[href$=\".1password.io\"],[href*=\"://1password.university/\"],[href$=\"://1password.university\"],[href*=\".1password.university/\"],[href$=\".1password.university\"],[href*=\"://agilebits.com/\"],[href$=\"://agilebits.com\"],[href*=\".agilebits.com/\"],[href$=\".agilebits.com\"],[href*=\"://b5dev.com/\"],[href$=\"://b5dev.com\"],[href*=\".b5dev.com/\"],[href$=\".b5dev.com\"],[href*=\"://b5local.com/\"],[href$=\"://b5local.com\"],[href*=\".b5local.com/\"],[href$=\".b5local.com\"],[href*=\"://1infra.dev/\"],[href$=\"://1infra.dev\"],[href*=\".1infra.dev/\"],[href$=\".1infra.dev\"],[href*=\"://kolide.com/\"],[href$=\"://kolide.com\"],[href*=\".kolide.com/\"],[href$=\".kolide.com\"],[href*=\"://trelica.app/\"],[href$=\"://trelica.app\"],[href*=\".trelica.app/\"],[href$=\".trelica.app\"],[href*=\"://trelica.eu/\"],[href$=\"://trelica.eu\"],[href*=\".trelica.eu/\"],[href$=\".trelica.eu\"],[href*=\"://trelica.com/\"],[href$=\"://trelica.com\"],[href*=\".trelica.com/\"],[href$=\".trelica.com\"],[href*=\"://1password.community/\"],[href$=\"://1password.community\"],[href*=\".1password.community/\"],[href$=\".1password.community\"],[href*=\"://1pw.ca/\"],[href$=\"://1pw.ca\"],[href*=\".1pw.ca/\"],[href$=\".1pw.ca\"]):not(.card *,.op-card-surface *,.image-button-link,.community-card,.community-card *,pre *,:has(img))::after{content:\"\";display:inline-block;width:1em;height:1em;margin-left:0.25em;vertical-align:-0.125em;background-color:currentColor;-webkit-mask:var(--op-link-icon, url(\"/static/img/icons/external-link.svg\")) no-repeat center / contain;mask:var(--op-link-icon, url(\"/static/img/icons/external-link.svg\")) no-repeat center / contain}.mdx-content a:is([href*=\"://github.com/\"],[href$=\"://github.com\"],[href*=\".github.com/\"],[href$=\".github.com\"],[href*=\"://github.blog/\"],[href$=\"://github.blog\"]){--op-link-icon: url(\"/static/img/logos/github.svg\")}#content>h5,#content>h6{font-weight:700}.dark #content>h5,.dark #content>h6{color:var(--op-white)}.accordion{background-color:var(--op-icy-blue)}.dark .accordion{background-color:var(--op-surface-card-dark)}.accordion .mint-bg-white{padding:1rem}.accordion .mint-bg-white [class*=\"-mx-\"]{margin:0!important;padding:0!important;width:100%!important;--page-padding: 0px}#footer>div>div.flex.flex-col.md\\:flex-row.gap-8.justify-between.min-h-\\[76px\\]>div.flex.flex-col.sm\\:grid.max-md\\:\\!grid-cols-2.gap-8.flex-1>div>div>p{display:none!important}footer#footer.advanced-footer{display:flex!important}footer#footer{align-items:unset;background-color:var(--op-iron-ore);color:var(--op-white)}#footer img.nav-logo.dark\\:hidden{display:none!important}#footer img.nav-logo.dark\\:block{display:block!important}#footer p.font-semibold,#footer a{color:var(--op-white)}#footer>div.flex.w-full.flex-col.gap-12.justify-between.px-8.py-16.md\\:py-20.lg\\:py-28.z-20>div.h-\\[1px\\].w-full.bg-gray-100.dark\\:bg-white\\/5{background-color:var(--op-border-footer-dark)}#footer>div.flex.w-full.flex-col.gap-12.justify-between.px-8.py-16.md\\:py-20.lg\\:py-28.z-20{margin:0 auto}footer .email_form{max-width:650px;margin:auto}.codeblock_accordion{margin-top:10px}.codeblock_accordion .code-block{margin:0!important}.codeblock_accordion>div>.code-block,.codeblock_accordion>div>.code-block>div:nth-child(2){border-bottom-left-radius:0;border-bottom-right-radius:0}.codeblock_accordion .see_results_container{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.codeblock_accordion .see_results_container .code-block,.codeblock_accordion .see_results_container .code-block>div:nth-child(2){border-top-left-radius:0;border-top-right-radius:0}.hide_bullets ul li{padding-left:0!important}.hide_bullets ul li::before{content:none!important}#navigation-items a[href^=\"/\"]:not([href^=\"//\"])>div>div:nth-child(2){display:none}a[href^=\"http\"] .flex-shrink-0 svg,a[href^=\"//\"] .flex-shrink-0 svg{display:block}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{white-space:nowrap}h2.flex.whitespace-pre-wrap span.cursor-pointer svg.icon,h4.flex.whitespace-pre-wrap span.cursor-pointer svg.icon{margin:0;vertical-align:baseline}table thead tr th code{padding-left:0!important;padding-right:0!important}.tabs.tab-container{padding:0 0.8rem 1rem;border:1px solid var(--op-border-subtle);border-radius:4px}.dark .tabs.tab-container{border-color:var(--op-border-subtle-dark)}nav-tabs-item:nth-child(3),.nav-tabs-item:nth-child(3){--tab-gap-before-divider: 8px;--nav-tabs-item-gap: 0.5rem;margin-left:var(--tab-gap-before-divider)!important;padding-left:calc(\n var(--tab-gap-before-divider) + var(--nav-tabs-item-gap)\n )!important;border-left:1px solid var(--op-border-navbar-light)}.dark nav-tabs-item:nth-child(3),.dark .nav-tabs-item:nth-child(3){border-left-color:var(--op-border-navbar-dark)}.peer.is-center~div:has(.tutorial-explorer){max-width:84rem!important}@media (max-width: 639px){.tutorial-filter-bar{display:grid!important;grid-template-columns:minmax(0, 1fr)}.tutorial-filter-search{grid-column:1 / -1;width:100%}.tutorial-filter-search input{width:100%!important}.tutorial-filter-topic,.tutorial-filter-tools{grid-column:1 / -1;width:100%}.tutorial-filter-dropdown>button,.tutorial-filter-menu{width:100%}.tutorial-filter-dropdown>button{justify-content:space-between}.tutorial-filter-menu{min-width:0!important}.tutorial-filter-sort{grid-column:1 / -1;justify-self:end;margin-left:0!important}}#navbar.is-custom .nav-tabs-item[data-active]{color:var(--op-text-body);text-shadow:none}.dark #navbar.is-custom .nav-tabs-item[data-active]{color:var(--op-text-body-dark)}#navbar.is-custom .nav-tabs-item[data-active]>div{background-color:transparent!important}#navbar.is-custom .nav-tabs-item[data-active]:hover>div{background-color:rgb(229 231 235)!important}.dark #navbar.is-custom .nav-tabs-item[data-active]:hover>div{background-color:rgb(55 65 81)!important}#footer .api-sdk-terms-notice{margin:0;padding:0 0 1.25rem;font-size:0.875rem;font-style:italic;line-height:1.5;text-align:center;color:rgb(251 248 244 / 0.8);pointer-events:auto}#footer .api-sdk-terms-notice a{position:relative;z-index:2;color:var(--op-cornflower);text-decoration:underline;text-underline-offset:2px;pointer-events:auto;cursor:pointer}a:has(>img.nav-logo){display:flex;align-items:center;gap:0.25rem}a:has(>img.nav-logo)::after{content:\"Developers\";font-weight:700;font-size:1.3125rem;line-height:1;letter-spacing:-0.01em;color:#303136;white-space:nowrap}.dark a:has(>img.nav-logo)::after,#footer a:has(>img.nav-logo)::after{color:#FFFEFB}#footer a:has(>img.nav-logo)::after{font-size:1.25rem}"}],"page":{"pagePath":"accounts-api/conventions","slug":"/accounts-api/conventions","pageMetadata":{"title":"API conventions","slug":"/accounts-api/conventions","sidebarTitle":"API conventions","description":"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.","href":"/accounts-api/conventions"},"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: \"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.\"\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`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The following conventions apply across the 1Password Accounts API for Partners.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsxs(_components.p,{children:[`The Accounts API authorizes requests with a bearer token. When your organization registers as a distributor, you’ll receive an opaque bearer token, prefixed with `,_jsx(_components.code,{children:`op_b_`}),`. Include this token in the `,_jsx(_components.code,{children:`Authorization`}),` header of every request, prefixed with `,_jsx(_components.code,{children:`Bearer`}),`:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Authorization: Bearer \u003cYOUR_API_TOKEN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`For example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.1password.eu/v1/distributor-products\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer \u003cYOUR_API_TOKEN>\"`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Treat your bearer token like a password. Store it securely (for example, in a 1Password vault) and never expose it in client-side code, logs, or source control.`})}),`\n`,_jsxs(_components.p,{children:[`If you need a new bearer token, `,_jsx(_components.a,{href:`mailto:msp@1password.com`,children:`contact 1Password`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`endpoints`,children:`Endpoints`}),`\n`,_jsxs(_components.p,{children:[`The basic structure of an endpoint URL for the Accounts API includes the `,_jsx(_components.a,{href:`#base-url`,children:`base URL`}),` and the `,_jsx(_components.a,{href:`#endpoint-path`,children:`endpoint path`}),`. The endpoint path includes the API endpoint version, the resource(s) you want to access, and any relevant path parameters.`]}),`\n`,_jsx(Heading,{level:`3`,id:`base-url`,children:`Base URL`}),`\n`,_jsxs(_components.p,{children:[`All requests to the Accounts API use the 1Password.eu base URL, `,_jsx(_components.code,{children:`https://api.1password.eu`}),`, regardless of the `,_jsx(_components.a,{href:`https://support.1password.com/regions/`,children:`region of your 1Password account`}),` or your customers’ accounts. The `,_jsx(_components.a,{href:`/accounts-api/list-products`,children:_jsx(_components.code,{children:`product_id`})}),` you provision determines the region where a customer’s 1Password account is created.`]}),`\n`,_jsx(_components.p,{children:`All communication with the API is over HTTPS.`}),`\n`,_jsx(Heading,{level:`3`,id:`endpoint-path`,children:`Endpoint path`}),`\n`,_jsx(_components.p,{children:`The endpoint path is appended to the base URL and includes the endpoint version, target resource path, and any path parameters. For example, the endpoint path to list usage for a specific customer would look like this:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/v1/distributor-customers/{distributor-customer}/usage`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`{distributor-customer}`}),` path parameter is your own identifier for the customer, as defined in your marketplace system — 1Password doesn’t validate it against a customer registry. Some list endpoints also accept `,_jsx(_components.code,{children:`-`}),` as a wildcard to query across all of your customers.`]}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/accounts-api/reference`,children:`API reference documentation`}),` for more information about each endpoint.`]}),`\n`,_jsx(Heading,{level:`2`,id:`requests`,children:`Requests`}),`\n`,_jsx(Heading,{level:`3`,id:`request-methods`,children:`Request methods`}),`\n`,_jsx(_components.p,{children:`Requests to the Accounts API use standard HTTP methods:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Method`}),_jsx(_components.th,{children:`Usage`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET`})}),_jsxs(_components.td,{children:[`Retrieve resources. For example: `,_jsx(_components.a,{href:`/accounts-api/list-entitlements`,children:`list entitlements`}),`, `,_jsx(_components.a,{href:`/accounts-api/list-customer-usage`,children:`customer usage`}),`, or `,_jsx(_components.a,{href:`/accounts-api/list-products`,children:`products`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`POST`})}),_jsxs(_components.td,{children:[`Create resources. For example: `,_jsx(_components.a,{href:`/accounts-api/create-entitlement`,children:`create`}),` or `,_jsx(_components.a,{href:`/accounts-api/link-entitlement`,children:`link`}),` an entitlement.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`PATCH`})}),_jsxs(_components.td,{children:[`Update specific fields of a resource. For example: `,_jsx(_components.a,{href:`/accounts-api/update-entitlement`,children:`update a pending entitlement`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DELETE`})}),_jsxs(_components.td,{children:[`Initiate removal of a resource. For example: `,_jsx(_components.a,{href:`/accounts-api/cancel-entitlement`,children:`cancel an entitlement`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`request-headers`,children:`Request headers`}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Authorization: Bearer \u003cYOUR_API_TOKEN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Content-Type: application/json`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`Authorization`})}),`: Required on every request. Use this header with your bearer token to authenticate your API requests.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`Content-Type: application/json`})}),`: Required for `,_jsx(_components.code,{children:`POST`}),` and `,_jsx(_components.code,{children:`PATCH`}),` requests. Use this header for requests that send a JSON body. `,_jsx(_components.code,{children:`GET`}),` and `,_jsx(_components.code,{children:`DELETE`}),` requests don’t include a body.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`request-bodies`,children:`Request bodies`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST`}),` and `,_jsx(_components.code,{children:`PATCH`}),` requests send a JSON object in the request body. Check the `,_jsx(_components.a,{href:`/accounts-api/reference`,children:`API reference documentation`}),` for the fields each endpoint accepts.`]}),`\n`,_jsx(_components.p,{children:`The API silently ignores unknown fields in request bodies, so make sure your field names are correct. A misspelled field name is ignored without an error and the value isn’t applied.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`GET`}),` and `,_jsx(_components.code,{children:`DELETE`}),` requests don’t include a request body.`]}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query parameters`}),`\n`,_jsxs(_components.p,{children:[`You can use query parameters in your API request as optional modifiers after the endpoint path. Use a `,_jsx(_components.code,{children:`?`}),` query separator at the end of the endpoint path, then add any query parameters you want to include, separated by a `,_jsx(_components.code,{children:`\u0026`}),` query delimiter.`]}),`\n`,_jsxs(_components.p,{children:[`For example, if you want to retrieve a list of product usage data for all customers, you could use query parameters to `,_jsx(_components.a,{href:`#filtering`,children:`filter the results`}),` by billing cycle and set the maximum number of results to return per `,_jsx(_components.a,{href:`#pagination`,children:`page`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET https://api.1password.eu/v1/distributor-customers/-/usage?filter=billing_cycle == '2026-04'\u0026max_page_size=20`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Make sure your client URL-encodes query parameter values. Filter expressions contain spaces and special characters, so the request above is sent as:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET https://api.1password.eu/v1/distributor-customers/-/usage?filter=billing_cycle%20%3D%3D%20%272026-04%27\u0026max_page_size=20`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Check the `,_jsx(_components.a,{href:`/accounts-api/reference`,children:`API reference documentation`}),` to discover which query parameters are available for each endpoint.`]}),`\n`,_jsx(Heading,{level:`3`,id:`filtering`,children:`Filtering`}),`\n`,_jsxs(_components.p,{children:[`The following list endpoints accept a `,_jsx(_components.code,{children:`filter`}),` query parameter that uses `,_jsx(_components.a,{href:`https://github.com/google/cel-spec`,children:`Common Expression Language (CEL)`}),` syntax:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/accounts-api/list-entitlements`,children:`List entitlements`}),`: Filters on entitlement fields. For example, `,_jsx(_components.code,{children:`status == 'active'`}),` returns only active entitlements. When omitted, entitlements of all statuses are returned. See the `,_jsx(_components.a,{href:`#entitlement-statuses`,children:`entitlement statuses`}),` section to learn about all the possible `,_jsx(_components.code,{children:`status`}),` values.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/accounts-api/list-customer-usage`,children:`List customer usage`}),`: Filters by billing cycle using `,_jsx(_components.code,{children:`billing_cycle == 'YYYY-MM'`}),`. For example, `,_jsx(_components.code,{children:`billing_cycle == '2026-04'`}),`. When omitted, usage defaults to the current billing cycle in UTC. There’s no lookback limit on historical billing cycles.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`pagination`,children:`Pagination`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.1password.eu/v1/distributor-products?max_page_size=20\u0026page_token=\u003cNEXT_PAGE_TOKEN>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer \u003cYOUR_API_TOKEN>\"`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`All list endpoints (entitlements, customer usage, and products) support pagination. Use these query parameters to page through results:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`max_page_size`}),`: The maximum number of results to return per page. Defaults to 100; values above 100 are clamped to 100. Omitting the parameter or setting it to `,_jsx(_components.code,{children:`0`}),` uses the default.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`page_token`}),`: The token that identifies the page of results to return.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Each list response includes an opaque `,_jsx(_components.code,{children:`next_page_token`}),`. To retrieve the next page, send the same request with `,_jsx(_components.code,{children:`page_token`}),` set to that value. When `,_jsx(_components.code,{children:`next_page_token`}),` is empty, there are no more results.`]}),`\n`,_jsx(_components.p,{children:`The API uses cursor-based pagination. Each token marks where the previous page left off, so paging stays consistent even if results change between page requests. Items already returned aren’t repeated on later pages, and items aren’t skipped if others are created or cancelled while you page.`}),`\n`,_jsx(Heading,{level:`2`,id:`responses`,children:`Responses`}),`\n`,_jsxs(_components.p,{children:[`The API returns JSON for all responses, except `,_jsx(_components.a,{href:`#rate-limits`,children:`rate-limit`}),` errors, which return plain text.`]}),`\n`,_jsxs(_components.p,{children:[`A successful request returns `,_jsx(_components.code,{children:`200 OK`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Create, update, and cancel operations return the affected entitlement in the response body, so you can read back its server-assigned fields, such as `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`create_time`}),`, and the current `,_jsx(_components.code,{children:`status`}),`. Link operations return the entitlement inside an `,_jsx(_components.code,{children:`entitlement`}),` object. For example, a successful create request returns:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`HTTP/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 200`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`date: Fri, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Oct `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2026`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 12`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`34`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`56`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GMT`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`content-type: application/json`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"distributor-customers/cust_789xyz/entitlements/ent_abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ent_abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"customer_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"cust_789xyz\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"product_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1p-msp-us\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"contact_info\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"admin@acme-corp.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"company_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Acme Corporation\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"create_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-15T10:30:00Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`List operations return a `,_jsx(_components.code,{children:`results`}),` array and a `,_jsx(_components.code,{children:`next_page_token`}),`. For example:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`18`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"distributor-customers/cust_789xyz/entitlements/ent_abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ent_abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"customer_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"cust_789xyz\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"product_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1p-msp-us\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"active\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"contact_info\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"admin@acme-corp.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"company_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Acme Corporation\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"create_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-15T10:30:00Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expire_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-20T10:30:00Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"next_page_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When a list request matches no results, the response returns an empty `,_jsx(_components.code,{children:`results`}),` array and an empty `,_jsx(_components.code,{children:`next_page_token`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"next_page_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Learn more about `,_jsx(_components.a,{href:`#errors`,children:`error responses`}),` and `,_jsx(_components.a,{href:`#pagination`,children:`paginated list responses`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`dates-and-times`,children:`Dates and times`}),`\n`,_jsxs(_components.p,{children:[`Timestamps are returned in `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc3339`,children:`RFC 3339 format`}),`, for example `,_jsx(_components.code,{children:`2026-01-23T15:55:58Z`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`rate-limits`,children:`Rate limits`}),`\n`,_jsx(_components.p,{children:`Requests to the Accounts API are rate limited to 1,000 requests per minute, per distributor. There’s no separate hourly limit.`}),`\n`,_jsxs(_components.p,{children:[`If you exceed the allowed rate, the API returns a `,_jsx(_components.code,{children:`429 Too Many Requests`}),` response with a `,_jsx(_components.code,{children:`Retry-After`}),` header that indicates how long to wait before retrying. Unlike other error responses, the `,_jsx(_components.code,{children:`429`}),` response body is plain text, not JSON.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[`The API uses standard HTTP status codes to indicate the result of a request. A `,_jsx(_components.code,{children:`2xx`}),` code indicates success. A `,_jsx(_components.code,{children:`4xx`}),` code indicates a problem with the request (for example, missing authentication or invalid input). A `,_jsx(_components.code,{children:`5xx`}),` code indicates an unexpected server error.`]}),`\n`,_jsxs(_components.p,{children:[`Most error responses include a JSON body with a machine-readable `,_jsx(_components.code,{children:`code`}),` and a human-readable `,_jsx(_components.code,{children:`message`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"not_found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The requested resource was not found.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The error response format, including the `,_jsx(_components.code,{children:`code`}),` and `,_jsx(_components.code,{children:`message`}),` fields, is provisional and may change in a future release. Use the HTTP status code to handle errors in your integration, and don’t rely on the text of the `,_jsx(_components.code,{children:`message`}),` field.`]})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid_argument`})}),_jsx(_components.td,{children:`A request parameter or body field is invalid.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unauthenticated`})}),_jsx(_components.td,{children:`Missing or invalid credentials.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`not_found`})}),_jsx(_components.td,{children:`The resource doesn’t exist.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`already_exists`})}),_jsx(_components.td,{children:`The resource already exists — for example, an entitlement for the product already exists.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`internal`})}),_jsx(_components.td,{children:`An internal error occurred. Retry the request later.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`429 Too Many Requests`}),` responses don’t use this JSON format. See the `,_jsx(_components.a,{href:`#rate-limits`,children:`rate limits`}),` section for more information about this error response.`]}),`\n`,_jsx(Heading,{level:`2`,id:`entitlement-statuses`,children:`Entitlement statuses`}),`\n`,_jsxs(_components.p,{children:[`An entitlement’s `,_jsx(_components.code,{children:`status`}),` field reflects its position in the lifecycle:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pending`})}),_jsxs(_components.td,{children:[`The entitlement has been created and is waiting for the customer to activate it (or, for `,_jsx(_components.a,{href:`/accounts-api/link-entitlement`,children:`linked entitlements`}),`, claim the entitlement code). Only pending entitlements can be `,_jsx(_components.a,{href:`/accounts-api/update-entitlement`,children:`updated`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`active`})}),_jsx(_components.td,{children:`The entitlement is active and the product is provisioned.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cancelling`})}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/accounts-api/cancel-entitlement`,children:`Cancellation`}),` has been initiated. Background processing completes it and transitions the status to `,_jsx(_components.code,{children:`cancelled`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cancelled`})}),_jsx(_components.td,{children:`The entitlement has been cancelled.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`expired`})}),_jsxs(_components.td,{children:[`A `,_jsx(_components.a,{href:`/accounts-api/link-entitlement`,children:`change-of-channel entitlement`}),` whose entitlement code wasn’t claimed within 5 days of creation.`]})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"API conventions","slug":"/accounts-api/conventions","sidebarTitle":"API conventions","description":"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.","href":"/accounts-api/conventions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Endpoints","slug":"endpoints","depth":2,"children":[{"title":"Base URL","slug":"base-url","depth":3,"children":[]},{"title":"Endpoint path","slug":"endpoint-path","depth":3,"children":[]}]},{"title":"Requests","slug":"requests","depth":2,"children":[{"title":"Request methods","slug":"request-methods","depth":3,"children":[]},{"title":"Request headers","slug":"request-headers","depth":3,"children":[]},{"title":"Request bodies","slug":"request-bodies","depth":3,"children":[]}]},{"title":"Query parameters","slug":"query-parameters","depth":2,"children":[{"title":"Filtering","slug":"filtering","depth":3,"children":[]},{"title":"Pagination","slug":"pagination","depth":3,"children":[]}]},{"title":"Responses","slug":"responses","depth":2,"children":[{"title":"Dates and times","slug":"dates-and-times","depth":3,"children":[]}]},{"title":"Rate limits","slug":"rate-limits","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]},{"title":"Entitlement statuses","slug":"entitlement-statuses","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/ab-634991b8/5ebc0d10523e8210/static/js/analytics.js","/_mintlify/custom/ab-634991b8/5bb7437b1c9dcb44/static/js/gtag-prod-sst.js","/_mintlify/custom/ab-634991b8/ee8ea0eeb20ecd1e/static/js/gtag-sst.js","/_mintlify/custom/ab-634991b8/31610123c784b7c4/api-sdk-terms-notice.js","/_mintlify/custom/ab-634991b8/3604035e212f8294/homepage-card-icons.js"],"subdomain":"ab-634991b8","siteName":"1Password Developer","title":"API conventions - 1Password Developer","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"contextualStarterQuestions":[{"_id":"6ae3adae8254af80f3761f89","deploymentId":"68a8af9a517ab813d3b84097","questionText":"How should I format endpoint paths?","status":"active","generatedBy":"contextual","path":"accounts-api/conventions","createdAt":"2026-10-29T20:33:50.605Z","updatedAt":"2026-10-29T20:33:50.605Z","__v":0},{"_id":"6ae3adae8254af80f3761f87","deploymentId":"68a8af9a517ab813d3b84097","questionText":"How do I authenticate API requests?","status":"active","generatedBy":"contextual","path":"accounts-api/conventions","createdAt":"2026-10-29T20:33:50.605Z","updatedAt":"2026-10-29T20:33:50.605Z","__v":0},{"_id":"6ae3adae8254af80f3761f88","deploymentId":"68a8af9a517ab813d3b84097","questionText":"What's the base URL for API calls?","status":"active","generatedBy":"contextual","path":"accounts-api/conventions","createdAt":"2026-10-29T20:33:50.605Z","updatedAt":"2026-10-29T20:33:50.605Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T20:32:31.902Z","originalFileLocation":"accounts-api/conventions.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=\"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.\">\u003cmeta data-mint-head name=\"application-name\" content=\"1Password Developer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_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/ab-634991b8/cic7o6CrHhA6877e/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"API conventions - 1Password Developer\">\u003cmeta data-mint-head property=\"og:description\" content=\"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"1Password Developer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.1password.dev/accounts-api/conventions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ab-634991b8.mintlify.site/_mintlify/api/og/v2?division=Accounts+API\u0026amp;title=API+conventions\u0026amp;description=Conventions+used+across+the+1Password+Accounts+API+for+Partners%2C+including+authentication%2C+resource+paths%2C+pagination%2C+filtering%2C+and+error+handling.\u0026amp;theme=4f276e23841331680610e0c6\u0026amp;signature=ef91f478112de87dcae3a2ef07318bc7d0dcceceaddd3711a8549ed9340a30a9\">\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=\"API conventions - 1Password Developer\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ab-634991b8.mintlify.site/_mintlify/api/og/v2?division=Accounts+API\u0026amp;title=API+conventions\u0026amp;description=Conventions+used+across+the+1Password+Accounts+API+for+Partners%2C+including+authentication%2C+resource+paths%2C+pagination%2C+filtering%2C+and+error+handling.\u0026amp;theme=4f276e23841331680610e0c6\u0026amp;signature=ef91f478112de87dcae3a2ef07318bc7d0dcceceaddd3711a8549ed9340a30a9\">\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/ab-634991b8/cic7o6CrHhA6877e/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"1Password Developer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#145FE4\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"YserOhXnJUjFfIZ4K3qgxkVSlQZQdXtIbBiKzZ35Nvs\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.1password.dev/accounts-api/conventions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/accounts-api/conventions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.1password.dev/#organization\",\"name\":\"1Password Developer\",\"url\":\"https://www.1password.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ab-634991b8/tWWm5UFlpZQ9nof8/images/logo-1password-dark.svg?fit=max\u0026auto=format\u0026n=tWWm5UFlpZQ9nof8\u0026q=85\u0026s=2c2acc6dc5f817defe70ebdef67c9b11\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.1password.dev#website\",\"name\":\"1Password Developer\",\"url\":\"https://www.1password.dev\",\"publisher\":{\"@id\":\"https://www.1password.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.1password.dev/accounts-api/conventions#webpage\",\"url\":\"https://www.1password.dev/accounts-api/conventions\",\"name\":\"API conventions\",\"description\":\"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.\",\"dateModified\":\"2026-10-29T20:32:31.902Z\",\"isPartOf\":{\"@id\":\"https://www.1password.dev#website\"},\"breadcrumb\":{\"@id\":\"https://www.1password.dev/accounts-api/conventions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.1password.dev/accounts-api/conventions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accounts API\",\"item\":\"https://www.1password.dev/accounts-api\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API conventions\",\"item\":\"https://www.1password.dev/accounts-api/conventions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.1password.dev/accounts-api/conventions#article\",\"headline\":\"API conventions\",\"name\":\"API conventions\",\"description\":\"Conventions used across the 1Password Accounts API for Partners, including authentication, resource paths, pagination, filtering, and error handling.\",\"url\":\"https://www.1password.dev/accounts-api/conventions\",\"mainEntityOfPage\":{\"@id\":\"https://www.1password.dev/accounts-api/conventions#webpage\"},\"dateModified\":\"2026-10-29T20:32:31.902Z\",\"publisher\":{\"@id\":\"https://www.1password.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://www.1password.dev#website\"}}]}\u003c/script>","agentPointerHref":"/accounts-api/conventions.md","siteName":"1Password Developer","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":"/get-started/developer-quickstart"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli"}]},{"tab":"SSH \u0026 Git","pages":[{"title":"SSH \u0026 Git","href":"/ssh"}]},{"tab":"Environments","pages":[{"title":"Environments","href":"/environments"}]},{"tab":"AI agents","pages":[{"title":"AI agents","href":"/security-for-ai"}]},{"tab":"Service Accounts","pages":[{"title":"Service Accounts","href":"/service-accounts"}]},{"tab":"CI/CD \u0026 infrastructure","pages":[{"title":"CI/CD \u0026 infrastructure","href":"/integrations"}]},{"tab":"SDKs \u0026 APIs","menu":[{"item":"SDKs","icon":"cube","pages":[{"title":"SDKs","href":"/sdks"}]},{"item":"Events API","icon":"sensor-triangle-exclamation","pages":[{"title":"Events API","href":"/events-api"}]},{"item":"Users API","icon":"id-badge","pages":[{"title":"Users API","href":"/users-api"}]},{"item":"SaaS Manager API","icon":"chart-line","pages":[{"title":"SaaS Manager API","href":"/saas-manager-api"}]},{"item":"Partnership API","icon":"users","pages":[{"title":"Partnership API","href":"/partnership-api/reference"}]},{"item":"Accounts API","icon":"user-gear","groups":[{"group":"Accounts API","pages":[{"title":"1Password Accounts API for Partners","sidebarTitle":"Overview","href":"/accounts-api"},{"title":"Get started with the 1Password Accounts API for Partners","sidebarTitle":"Get started","description":"Learn how to authenticate and make your first requests to the 1Password Accounts API for Partners.","href":"/accounts-api/get-started"},{"title":"API conventions","sidebarTitle":"API conventions","href":"/accounts-api/conventions"},{"group":"API reference","pages":[{"title":"Reference for the 1Password Accounts API for Partners","sidebarTitle":"Overview","description":"Complete reference documentation for the 1Password Accounts API for Partners.","href":"/accounts-api/reference"},{"group":"Entitlements","pages":[{"title":"List entitlements","sidebarTitle":"List entitlements","openapi":"openapi/accounts_api.yaml GET /v1/distributor-customers/{distributor-customer}/entitlements","href":"/accounts-api/list-entitlements"},{"title":"Create an entitlement","sidebarTitle":"Create an entitlement","openapi":"openapi/accounts_api.yaml POST /v1/distributor-customers/{distributor-customer}/entitlements","href":"/accounts-api/create-entitlement"},{"title":"Update an entitlement","sidebarTitle":"Update an entitlement","openapi":"openapi/accounts_api.yaml PATCH /v1/distributor-customers/{distributor-customer}/entitlements/{entitlement}","href":"/accounts-api/update-entitlement"},{"title":"Cancel an entitlement","sidebarTitle":"Cancel an entitlement","openapi":"openapi/accounts_api.yaml DELETE /v1/distributor-customers/{distributor-customer}/entitlements/{entitlement}","href":"/accounts-api/cancel-entitlement"},{"title":"Link an entitlement","sidebarTitle":"Link an entitlement","openapi":"openapi/accounts_api.yaml POST /v1/distributor-customers/{distributor-customer}/entitlements:link","href":"/accounts-api/link-entitlement"}]},{"group":"Usage","pages":[{"title":"List customer usage","sidebarTitle":"List customer usage","openapi":"openapi/accounts_api.yaml GET /v1/distributor-customers/{distributor-customer}/usage","href":"/accounts-api/list-customer-usage"}]},{"group":"Products","pages":[{"title":"List products","sidebarTitle":"List products","openapi":"openapi/accounts_api.yaml GET /v1/distributor-products","href":"/accounts-api/list-products"}]}]}]}]},{"item":"Web Development","icon":"code","pages":[{"title":"Web Development","href":"/web/add-1password-button-website"}]}]},{"tab":"Community","menu":[{"item":"Developer community","icon":"users","href":"/community"},{"item":"Events","icon":"calendar","href":"https://luma.com/1password"},{"item":"Newsletter","icon":"envelope","href":"https://1password.com/developer-newsletter"},{"item":"Slack","icon":"slack","href":"https://www.1password.dev/joinslack"},{"item":"1Password Academy","icon":"graduation-cap","href":"https://www.1password.academy/path/1password-developer-tools"}]},{"tab":"Agentic Autofill partner guide","hidden":true,"pages":[{"title":"Agentic Autofill partner guide","href":"/agentic-autofill/partners"}]}]},"basePath":"","title":"API conventions - 1Password Developer","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["10e4515597"],"chunks":["BannerMarkdown-Dlc3Qr3h.js","dist-D2J8knkn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Dq9TQuNi.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}