{"openapi":"3.0.0","info":{"title":"Admin Control API","description":"API to manage policies and resources. A policy is a set of rules that apply to a specific area and a particular group, allowing an organization to ensure a basic level of compliance, security, and behavior. A resource refers to any asset, entity, or item that the policy aims to govern, regulate, or protect.","version":"1.0.0"},"tags":[{"name":"Policies","description":"A policy is a set of rules that apply to a specific area and a particular group, allowing an organization to ensure a basic level of compliance, security, and behavior. All policies have their own distinct set of rules and specifies the types of resources that can be associated with it."},{"name":"Resources","description":"A resource refers to any asset, entity, or item that the policy aims to govern, regulate, or protect."},{"name":"Authentication Policies","description":"Authentication policies are a set of rules that govern the authentication process for users. [Understand authentication policies](https://support.atlassian.com/security-and-access-policies/docs/understand-authentication-policies/)"}],"paths":{"/admin/control/v1/orgs/{orgId}/policies":{"get":{"tags":["Policies"],"operationId":"APIs_getPolicies","summary":"Get list of policies","description":"Returns comprehensive details on organizational policies, including both rules and resources.\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `read:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Sets the starting point for the page of results to return.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Sets the type for the page of policies to return.","schema":{"$ref":"#/components/schemas/Models.PolicyType"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyPage"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}},"post":{"tags":["Policies"],"operationId":"APIs_createPolicy","summary":"Create a new policy","description":"Create a policy aligned with your organization's standards.\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResponse"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CreatePolicy"}},"required":["data"]}}}}}},"/admin/control/v1/orgs/{orgId}/policies/{policyId}":{"get":{"tags":["Policies"],"operationId":"APIs_getPolicy","summary":"Get single policy","description":"Returns information about a policy by policyId.\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `read:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResponse"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}},"put":{"tags":["Policies"],"operationId":"APIs_updatePolicy","summary":"Update single policy","description":"Update a policy with a policyId.\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResponse"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Policy"}},"required":["data"]}}}}},"delete":{"tags":["Policies"],"operationId":"APIs_deletePolicy","summary":"Delete single policy","description":"Delete a policy with a policyId\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `delete:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed."},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}}},"/admin/control/v1/orgs/{orgId}/policies/{policyId}/resources":{"get":{"tags":["Resources"],"operationId":"APIs_getResources","summary":"Get list of resources associated with a policy","description":"#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `read:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResourcePage"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}},"post":{"tags":["Resources"],"operationId":"APIs_createResource","summary":"Create a new policy resource","description":"Add a new resource to a policy\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResource"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResourceCreateModel"}}}}},"delete":{"tags":["Resources"],"operationId":"APIs_deleteResources","summary":"Delete all policy resources","description":"Remove all resources from a policy.","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}}},"/admin/control/v1/orgs/{orgId}/policies/{policyId}/resources/{resourceId}":{"put":{"tags":["Resources"],"operationId":"APIs_updateResource","summary":"Update single policy resource","description":"Delete one resource from a policy\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}},{"name":"resourceId","in":"path","required":true,"description":"Unique Id associated with a resource.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResource"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.PolicyResourceUpdateModel"}}}}},"delete":{"tags":["Resources"],"operationId":"APIs_deleteResource","summary":"Delete single policy resource","description":"Delete one resource from a policy\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}},{"name":"resourceId","in":"path","required":true,"description":"Unique Id associated with a resource.","schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}}},"/admin/control/v1/orgs/{orgId}/policies/{policyId}/validate":{"get":{"tags":["Policies"],"operationId":"APIs_validatePolicy","summary":"Validate a policy","description":"Validate a policy to view potential issues in your policy\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `read:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed."},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Access is forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.Forbidden"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}}},"/admin/control/v1/orgs/{orgId}/auth-policy/{policyId}/add-users":{"post":{"tags":["Authentication Policies"],"operationId":"APIs_addUsersToPolicy","summary":"Add users to a policy","description":"Add users to an authentication policy to address the security of different user sets. [Understand how to add users to a policy and check the status](https://developer.atlassian.com/cloud/admin/auth-policy-cookbook/)\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"policyId","in":"path","required":true,"description":"Unique Id associated with each policy.","schema":{"type":"string"}}],"responses":{"202":{"description":"The request has been accepted for processing, but processing has not yet completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.AsyncResponseModel"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.AddUsersToPolicyRequest"}}}}}},"/admin/control/v1/orgs/{orgId}/auth-policy/task/{taskId}":{"get":{"tags":["Authentication Policies"],"operationId":"APIs_getTaskStatus","summary":"Get the status of a task","description":"Verify that users are assigned to the intended policy and report errors, if any.\n\n#### Scopes\n**[OAuth 2.0 scopes](/cloud/admin/scopes/) required:** `write:policies:admin`\n","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Unique Id obtained after adding users to an authentication policy.","schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.AddUsersToPolicyTaskStatus"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}}}},"/admin/control/v1/orgs/{orgId}/users/auth-policies/bulk-fetch":{"post":{"tags":["Authentication Policies"],"operationId":"APIs_bulkFetchAuthPolicy","summary":"Get policy information for managed users","description":"Get authentication policy information for a given list of managed users. This is a bulk action.","parameters":[{"name":"orgId","in":"path","required":true,"description":"Your organization is identified by a Unique ID. You get your organization ID and Organization API key simultaneously.","schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Models.UserPolicyInfo"}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.BadRequest"}}}},"401":{"description":"Unauthorized"},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.NotFound"}}}},"429":{"description":"Rate limited"},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.Errors.InternalServerError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Models.BulkUserPolicyFetchRequest"}}}}}}},"x-atlassian-narrative":{"documents":[{"title":"About","anchor":"About","body":"\nThe admin control APIs provide a comprehensive suite of tools that allow you to manage and govern your organizational entity, including:\n- Establishing policies\n- Modifying policies\n- Associating resources with your policies\n\n**Permission:** Organization admin"},{"title":"Authentication","anchor":"auth","body":"Authentication is implemented via an API key. Use the API Key as a Bearer access token to authenticate the script and manage your organization. The Organization ID is used as a unique identifier in the path parameter for the organization. Copy the Organization ID and API key and keep them in a secure place. We won’t show them to you again.\n\nTo make requests to the API with the client/tool of your choice, [Create an API key and get the organization ID](https://support.atlassian.com/organization-administration/docs/manage-an-organization-with-the-admin-apis/)."},{"title":"Rate limits","anchor":"rate limits","body":"A rate limit defines the maximum number of API calls an application or user can perform during a specific time frame. When this threshold is surpassed, or if CPU or total time constraints are exceeded, the application or user might encounter delays. Consequently, API requests initiated by the user or application will not succeed.\n\nIt is essential to note that all API requests are subjected to rate limits.\n\nWhen a client breach the rate limit thresholds, they get [HTTP 429 Too Many Requests](https://datatracker.ietf.org/doc/html/rfc6585#section-4) responses. The client has to wait for the rate limit counter to reset on the server before being able to make successful requests.\n\n**Rate limit response headers**\n\nThe following HTTP response headers are returned indicating the rate and threshold allowed for a client for each endpoint.\n- **X-RateLimit-Limit:** The number of allowed requests in the current period\n- **X-RateLimit-Remaining:** The number of remaining requests in the current period\n- **X-RateLimit-Reset:** Next period reset time (ISO 8601 - Date and time in UTC)"},{"title":"Version and URI","anchor":"uri","body":"\nThe URIs for resources have the following structure:\n\n```\nhttps://api.atlassian.com/admin//policies/\n```"},{"title":"Pagination","anchor":"Pagination","body":"\nThe admin control REST API uses pagination to conserve server resources and limit response size. If there are more results available after the current page, a link to the next page of results is included in the JSON. You can use the `cursor` parameter to set a specific starting point for the results."},{"title":"Experimental features","anchor":"Experimental features","body":"\nMethods marked as experimental may change without an earlier notice. We are looking for your feedback for these methods."},{"title":"Vocabulary","anchor":"Vocabulary","body":"\nThere are several concepts that are common ideas with a unique meaning in Atlassian Administration. Learn more about [terminology](https://developer.atlassian.com/cloud/admin/cloud-admin-vocabulary/) related to the cloud admin experience."}]},"security":[{"BearerAuth":[]}],"components":{"schemas":{"CreatePolicy":{"oneOf":[{"$ref":"#/components/schemas/Models.IPAllowListCreatePolicy"},{"$ref":"#/components/schemas/Models.DataResidencyCreatePolicy"},{"$ref":"#/components/schemas/Models.DataSecurityCreatePolicy"}]},"Models.ApplicationStatus":{"type":"string","enum":["validating","applying","removing","applied","failed","scheduled"],"description":"Status of policy application on resource"},"Models.BasePolicyAttributes":{"type":"object","properties":{"name":{"type":"string"},"status":{"$ref":"#/components/schemas/Models.PolicyStatus"},"type":{"type":"string","description":"Discriminator property for BasePolicyAttributes."}},"discriminator":{"propertyName":"type","mapping":{"data-residency":"#/components/schemas/Models.DataResidencyPolicyAttributes","data-security":"#/components/schemas/Models.DataSecurityPolicyAttributes"}}},"Models.DataResidencyCreatePolicy":{"type":"object","allOf":[{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["policy"]},"attributes":{"$ref":"#/components/schemas/Models.DataResidencyPolicyAttributes"}}}]},"Models.DataResidencyPolicy":{"type":"object","allOf":[{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Unique identifier of the Policy"},"type":{"type":"string","enum":["policy"],"description":"Type of this object"},"attributes":{"allOf":[{"$ref":"#/components/schemas/Models.DataResidencyPolicyAttributes"}],"description":"Attributes of this object"}}}]},"Models.DataResidencyPolicyAttributes":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["data-residency"]},"rule":{"type":"object","properties":{"in":{"type":"array","items":{"type":"string"}}},"required":["in"]}},"allOf":[{"$ref":"#/components/schemas/Models.BasePolicyAttributes"}]},"Models.DataSecurityCreatePolicy":{"type":"object","allOf":[{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["policy"]},"attributes":{"$ref":"#/components/schemas/Models.DataSecurityPolicyAttributes"}}}]},"Models.DataSecurityPolicy":{"type":"object","allOf":[{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Unique identifier of the Policy"},"type":{"type":"string","enum":["policy"],"description":"Type of this object"},"attributes":{"allOf":[{"$ref":"#/components/schemas/Models.DataSecurityPolicyAttributes"}],"description":"Attributes of this object"}}}]},"Models.DataSecurityPolicyAttributes":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["data-security"]},"rule":{"type":"object","properties":{"export":{"type":"object","properties":{"blockPageExport":{"type":"boolean"}}},"publicLinks":{"type":"object","properties":{"block":{"type":"boolean"}}},"anonymousAccess":{"type":"object","properties":{"block":{"type":"boolean"}}},"appAccess":{"type":"object","properties":{"blockAll":{"type":"boolean"},"blockedApps":{"type":"array","items":{"type":"string"}},"allowedApps":{"type":"array","items":{"type":"string"}}}}}},"metadata":{"type":"object","properties":{"lastUpdatedBy":{"type":"string"},"createdBy":{"type":"string"},"hasHadCoverage":{"type":"boolean"},"systemTag":{"type":"string"},"policyCoverageLevel":{"$ref":"#/components/schemas/Models.PolicyCoverage"},"description":{"type":"string"}},"required":["policyCoverageLevel"]}},"allOf":[{"$ref":"#/components/schemas/Models.BasePolicyAttributes"}]},"Models.Errors.BadRequest":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Models.Errors.CommonApplicationError"}}},"description":"Bad request"},"Models.Errors.CommonApplicationError":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier for this particular occurrence of the error."},"status":{"type":"string","description":"The HTTP status code applicable to this error."},"code":{"type":"string","description":"An application-specific error code"},"title":{"type":"string","description":"Human-readable summary of the error"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the error."}}},"Models.Errors.Forbidden":{"type":"object","properties":{"code":{"type":"number","enum":[403]},"message":{"type":"string"}},"description":"Access is forbidden."},"Models.Errors.InternalServerError":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Models.Errors.CommonApplicationError"}}},"description":""},"Models.Errors.NotFound":{"type":"object","properties":{"code":{"type":"number","enum":[404]},"message":{"type":"string"}},"description":"The server cannot find the requested resource."},"Models.IPAllowListCreatePolicy":{"type":"object","allOf":[{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["policy"]},"attributes":{"$ref":"#/components/schemas/Models.IPAllowListPolicyAttributes"}}}]},"Models.IPAllowListPolicy":{"type":"object","allOf":[{"type":"object","required":["id","type","attributes"],"properties":{"id":{"type":"string","description":"Unique identifier of the Policy"},"type":{"type":"string","enum":["policy"],"description":"Type of this object"},"attributes":{"allOf":[{"$ref":"#/components/schemas/Models.IPAllowListPolicyAttributes"}],"description":"Attributes of this object"}}}]},"Models.IPAllowListPolicyAttributes":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ip-allowlist"]},"rule":{"type":"object","properties":{"in":{"type":"array","items":{"type":"string"}},"allowMobileBypass":{"type":"boolean"}},"required":["in"]}},"allOf":[{"$ref":"#/components/schemas/Models.BasePolicyAttributes"}]},"Models.PageLinks":{"type":"object","properties":{"self":{"type":"string","description":"URL to fetch this Page"},"prev":{"type":"string","description":"URL to fetch the Previous Page"},"next":{"type":"string","description":"URL to fetch the Next Page"}}},"Models.AddUsersToPolicyRequest":{"type":"object","required":["users"],"properties":{"users":{"type":"array","description":"List of email addresses of the users to be added to the policy.","items":{"type":"string"}}}},"Models.BulkUserPolicyFetchRequest":{"type":"object","required":["accountIds"],"properties":{"accountIds":{"type":"array","description":"Unique ID of the user's account.\nUse the [Search for users in an organization API](https://developer.atlassian.com/cloud/admin/organization/rest/api-group-users/#api-v1-orgs-orgid-users-search-post) to get the accountIds.","items":{"type":"string"}}}},"Models.AsyncResponseModel":{"type":"object","required":["taskId","taskLink"],"properties":{"taskId":{"type":"string"},"taskLink":{"type":"string"}}},"Models.AddUsersToPolicyTaskStatus":{"type":"object","properties":{"inProgressCount":{"type":"integer"},"successCount":{"type":"integer"},"failureCount":{"type":"integer"},"failureReasons":{"type":"array","items":{"$ref":"#/components/schemas/Models.FailureReason"}}}},"Models.FailureReason":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"}},"details":{"$ref":"#/components/schemas/Models.FailureDetails"}}},"Models.FailureDetails":{"type":"object","properties":{"status":{"type":"integer"},"title":{"type":"string"},"detail":{"type":"string"}}},"Models.UserPolicyInfo":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"},"accountId":{"type":"string"},"authPolicyInfo":{"$ref":"#/components/schemas/Models.AuthPolicyInfo"}}},"Models.AuthPolicyInfo":{"type":"object","properties":{"policyId":{"type":"string"},"dateAdded":{"type":"number","example":1623868831000}}},"Models.PageMeta":{"type":"object","properties":{"next":{"type":"string","description":"Value for the next cursor"},"page_size":{"type":"integer","description":"Number of items in a page"}}},"Models.PolicyCoverage":{"type":"string","enum":["UNASSIGNED","WORKSPACE","CONTAINER","CLASSIFICATION"],"description":"Coverage of the policy"},"Models.PolicyPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Policy"},"description":"0 or more values of object are returned"},"meta":{"$ref":"#/components/schemas/Models.PageMeta"},"links":{"allOf":[{"$ref":"#/components/schemas/Models.PageLinks"}],"description":"Links for a Paginated response"}}},"Models.PolicyResource":{"type":"object","required":["id","applicationStatus"],"properties":{"meta":{"$ref":"#/components/schemas/Models.PolicyResourceMeta"},"links":{"$ref":"#/components/schemas/Models.PolicyResourceLinks"},"id":{"type":"string"},"applicationStatus":{"$ref":"#/components/schemas/Models.ApplicationStatus"}}},"Models.PolicyResourceCreateModel":{"type":"object","required":["id"],"properties":{"meta":{"$ref":"#/components/schemas/Models.PolicyResourceMeta"},"links":{"$ref":"#/components/schemas/Models.PolicyResourceLinks"},"id":{"type":"string"}}},"Models.PolicyResourceLinks":{"type":"object","properties":{"ticket":{"type":"string"}}},"Models.PolicyResourceMeta":{"type":"object","properties":{"scheduledDate":{"type":"string"},"migrationStartDateTime":{"type":"string"},"migrationEndDateTime":{"type":"string"},"atlassianAccountId":{"type":"string"}}},"Models.PolicyResourcePage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Models.PolicyResource"},"description":"0 or more values of object are returned"},"meta":{"$ref":"#/components/schemas/Models.PageMeta"},"links":{"allOf":[{"$ref":"#/components/schemas/Models.PageLinks"}],"description":"Links for a Paginated response"}}},"Models.PolicyResourceUpdateModel":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/Models.PolicyResourceMeta"},"links":{"$ref":"#/components/schemas/Models.PolicyResourceLinks"}}},"Models.PolicyResponse":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Policy"}}},"Models.PolicyStatus":{"type":"string","enum":["enabled","disabled"],"description":"Status of the policy"},"Models.PolicyType":{"type":"string","enum":["data-residency","ip-allowlist","data-security"],"description":"Type of policy"},"Policy":{"oneOf":[{"$ref":"#/components/schemas/Models.IPAllowListPolicy"},{"$ref":"#/components/schemas/Models.DataResidencyPolicy"},{"$ref":"#/components/schemas/Models.DataSecurityPolicy"}]}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://api.atlassian.com/","description":"Atlassian API","variables":{}}]}