Skip to content

Commit 5d66e94

Browse files
stevsmitSteven Smith
andauthored
Commit two (quay#1198)
Co-authored-by: Steven Smith <[email protected]>
1 parent 4e12fa7 commit 5d66e94

13 files changed

+301
-14
lines changed

api/master.adoc

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,23 @@ include::modules/quota-organization-management-api.adoc[leveloffset=+3]
7676
include::modules/quota-limit-api.adoc[leveloffset=+3]
7777
//quota (user limits and policies)
7878
include::modules/quota-limit-user-api.adoc[leveloffset=+3]
79+
//organization
80+
include::modules/organization-management-api.adoc[leveloffset=+2]
81+
//org creation
82+
include::modules/org-create-api.adoc[leveloffset=+3]
83+
include::modules/org-delete-api.adoc[leveloffset=+3]
84+
//member management
85+
include::modules/org-team-member-api.adoc[leveloffset=+3]
86+
//application
87+
include::modules/org-application-create-api.adoc[leveloffset=+3]
88+
//proxy-cache
89+
include::modules/org-proxy-cache-configuration-api.adoc[leveloffset=+3]
90+
91+
92+
93+
94+
// team member management?
95+
include::modules/managing-team-members-api.adoc[leveloffset=+3]
7996
8097
8198
//include::modules/proc_use-api.adoc[leveloffset=+1]
@@ -145,7 +162,7 @@ include::modules/api-mirror-getRepoMirrorConfig.adoc[leveloffset=+3]
145162
include::modules/api-mirror-changeRepoMirrorConfig.adoc[leveloffset=+3]
146163
include::modules/api-mirror-createRepoMirrorConfig.adoc[leveloffset=+3]
147164
148-
165+
//example procedures provided -- needs example commands
149166
include::modules/api-namespacequota.adoc[leveloffset=+2]
150167
include::modules/api-namespacequota-listUserQuota.adoc[leveloffset=+3]
151168
include::modules/api-namespacequota-getOrganizationQuotaLimit.adoc[leveloffset=+3]
@@ -162,6 +179,8 @@ include::modules/api-namespacequota-createOrganizationQuota.adoc[leveloffset=+3]
162179
include::modules/api-namespacequota-listOrganizationQuota.adoc[leveloffset=+3]
163180
include::modules/api-namespacequota-getUserQuota.adoc[leveloffset=+3]
164181
182+
//example procedures provided -- needs example commands
183+
165184
include::modules/api-organization.adoc[leveloffset=+2]
166185
include::modules/api-organization-createOrganization.adoc[leveloffset=+3]
167186
include::modules/api-organization-validateProxyCacheConfig.adoc[leveloffset=+3]

modules/creating-oauth-application-api.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Use the following procedure to create a user application token.
1717
1818
.Procedure
1919

20-
* Create a user application by entering the link:https://docs.redhat.com/en/documentation/red_hat_quay/3.13/html-single/red_hat_quay_api_guide/index#appspecifictokens[`POST /api/v1/user/apptoken`] API call:
20+
* Create a user application by entering the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#appspecifictokens[`POST /api/v1/user/apptoken`] API call:
2121
+
2222
[source,terminal]
2323
----
@@ -37,7 +37,7 @@ $ curl -X POST \
3737
{"token": {"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null, "token_code": "K2YQB1YO0ABYV5OBUYOMF9MCUABN12Y608Q9RHFXBI8K7IE8TYCI4WEEXSVH1AXWKZCKGUVA57PSA8N48PWED9F27PXATFUVUD9QDNCE9GOT9Q8ACYPIN0HL"}}
3838
----
3939
40-
* You can obtain information about your application, including when the application expires, by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/3.13/html-single/red_hat_quay_api_guide/index#listapptokens[`GET /api/v1/user/apptoken`] command. For example:
40+
* You can obtain information about your application, including when the application expires, by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#listapptokens[`GET /api/v1/user/apptoken`] command. For example:
4141
+
4242
[source,terminal]
4343
----
@@ -51,7 +51,7 @@ $ curl -X GET \
5151
{"tokens": [{"uuid": "6b5aa827-cee5-4fbe-a434-4b7b8a245ca7", "title": "MyAppToken", "last_accessed": null, "created": "Wed, 08 Jan 2025 19:32:48 -0000", "expiration": null}], "only_expiring": null}
5252
----
5353
54-
* You can obtain information about a specific user application by entering the link:https://docs.redhat.com/en/documentation/red_hat_quay/3.13/html-single/red_hat_quay_api_guide/index#getapptoken[`GET /api/v1/user/apptoken/{token_uuid}`] command:
54+
* You can obtain information about a specific user application by entering the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getapptoken[`GET /api/v1/user/apptoken/{token_uuid}`] command:
5555
+
5656
[source,terminal]
5757
----

modules/mirror-quay-api.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
1111
.Procedure
1212

13-
* Create a new repository mirror configuration by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/3.13/html-single/red_hat_quay_api_guide/index#createrepomirrorconfig[`POST /api/v1/repository/{repository}/mirror`] endpoint:
13+
* Create a new repository mirror configuration by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#createrepomirrorconfig[`POST /api/v1/repository/{repository}/mirror`] endpoint:
1414
+
1515
[source,terminal]
1616
----
@@ -32,7 +32,7 @@ $ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/
3232
}'
3333
----
3434
35-
* You can return information about the mirror configuration by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/3.13/html-single/red_hat_quay_api_guide/index#getrepomirrorconfig[`GET /api/v1/repository/{repository}/mirror`] endpoint:
35+
* You can return information about the mirror configuration by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getrepomirrorconfig[`GET /api/v1/repository/{repository}/mirror`] endpoint:
3636
+
3737
[source,terminal]
3838
----

modules/oci-referrers-oauth-access-token.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ _OCI referrers OAuth access tokens_ do not offer scope-based permissions and do
1111
[discrete]
1212
== Additional resource
1313

14-
* link:https://docs.redhat.com/en/documentation/red_hat_quay/3.13/html-single/use_red_hat_quay/index#attaching-referrers-image-tag[Attaching referrers to an image tag]
14+
* link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/use_red_hat_quay/index#attaching-referrers-image-tag[Attaching referrers to an image tag]
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// module included in the following assemblies:
2+
3+
// * use_quay/master.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="org-application-create-api"]
7+
= Creating an organization application by using the {productname} API
8+
9+
Organization applications can be created by using the {productname} UI.
10+
11+
[NOTE]
12+
====
13+
Organization applications can be created by using the UI, however OAuth 2 access tokens must be created on the UI.
14+
====
15+
16+
.Procedure
17+
18+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#createorganizationapplication[`POST /api/v1/organization/{orgname}/applications`] endpoint to create a new application for your organization. For example:
19+
+
20+
[source,terminal]
21+
----
22+
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \
23+
-H "Authorization: Bearer <access_token>" \
24+
-H "Content-Type: application/json" \
25+
-d '{
26+
"name": "<app_name>",
27+
"redirect_uri": "<redirect_uri>",
28+
"application_uri": "<application_uri>",
29+
"description": "<app_description>",
30+
"avatar_email": "<avatar_email>"
31+
}'
32+
----
33+
+
34+
.Example output
35+
+
36+
[source,terminal]
37+
----
38+
{"name": "new-application", "description": "", "application_uri": "", "client_id": "E6GJSHOZMFBVNHTHNB53", "client_secret": "SANSWCWSGLVAUQ60L4Q4CEO3C1QAYGEXZK2VKJNI", "redirect_uri": "", "avatar_email": null}
39+
----
40+
41+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getorganizationapplications[`GET /api/v1/organization/{orgname}/applications`] endpoint to return a list of all organization applications. For example:
42+
+
43+
[source,terminal]
44+
----
45+
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications" \
46+
-H "Authorization: Bearer <access_token>"
47+
----
48+
+
49+
.Example output
50+
+
51+
[source,terminal]
52+
----
53+
{"applications": [{"name": "test", "description": "", "application_uri": "", "client_id": "MCJ61D8KQBFS2DXM56S2", "client_secret": "J5G7CCX5QCA8Q5XZLWGI7USJPSM4M5MQHJED46CF", "redirect_uri": "", "avatar_email": null}, {"name": "new-token", "description": "", "application_uri": "", "client_id": "IG58PX2REEY9O08IZFZE", "client_secret": "2LWTWO89KH26P2CO4TWFM7PGCX4V4SUZES2CIZMR", "redirect_uri": "", "avatar_email": null}, {"name": "second-token", "description": "", "application_uri": "", "client_id": "6XBK7QY7ACSCN5XBM3GS", "client_secret": "AVKBOUXTFO3MXBBK5UJD5QCQRN2FWL3O0XPZZT78", "redirect_uri": "", "avatar_email": null}, {"name": "new-application", "description": "", "application_uri": "", "client_id": "E6GJSHOZMFBVNHTHNB53", "client_secret": "SANSWCWSGLVAUQ60L4Q4CEO3C1QAYGEXZK2VKJNI", "redirect_uri": "", "avatar_email": null}]}
54+
----
55+
+
56+
Applications can also be returned for a specific client using the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getorganizationapplication[`GET /api/v1/organization/{orgname}/applications/{client_id}`] endpoint. For example:
57+
+
58+
[source,terminal]
59+
----
60+
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/applications/<client_id>" \
61+
-H "Authorization: Bearer <access_token>"
62+
----
63+
+
64+
.Example output
65+
+
66+
[source,terminal]
67+
----
68+
{"name": "test", "description": "", "application_uri": "", "client_id": "MCJ61D8KQBFS2DXM56S2", "client_secret": "J5G7CCX5QCA8Q5XZLWGI7USJPSM4M5MQHJED46CF", "redirect_uri": "", "avatar_email": null}
69+
----
70+
71+
. After creation, organization applications can be updated, for example, if you want to add a redirect URI or a new description, using the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#updateorganizationapplication[`PUT /api/v1/organization/{orgname}/applications/{client_id}`] endpoint:
72+
+
73+
[source,terminal]
74+
----
75+
$ curl -X PUT "https://quay-server.example.com/api/v1/organization/test/applications/12345" \
76+
-H "Authorization: Bearer wplKtAuAX6DzAJwtB3X77nc18RFj2TKE5gTEk5K2" \
77+
-H "Content-Type: application/json" \
78+
-d '{
79+
"name": "Updated Application Name",
80+
"redirect_uri": "https://example.com/oauth/callback",
81+
"application_uri": "https://example.com",
82+
"description": "Updated description for the application",
83+
"avatar_email": "[email protected]"
84+
}'
85+
----
86+
87+
. After creation, application information can be returned by using the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getapplicationinformation[`GET /api/v1/app/{client_id}`] endpoint:
88+
+
89+
[source,terminal]
90+
----
91+
$ curl -X GET "https://<quay-server.example.com>/api/v1/app/<client_id>" \
92+
-H "Authorization: Bearer <access_token>"
93+
----
94+
+
95+
.Example output
96+
+
97+
[source,terminal]
98+
----
99+
{"name": "new-application3", "description": "", "uri": "", "avatar": {"name": "new-application3", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "app"}, "organization": {"name": "test", "email": "[email protected]", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "user"}, "is_admin": true, "is_member": true, "teams": {}, "ordered_teams": [], "invoice_email": true, "invoice_email_address": "[email protected]", "tag_expiration_s": 1209600, "is_free_account": true, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}}
100+
----
101+
102+
. Organization applications can be deleted with the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#deleteorganizationapplication[`DELETE /api/v1/organization/{orgname}/applications/{client_id}`] endpoint. For example:
103+
+
104+
[source,terminal]
105+
----
106+
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/applications/{client_id}" \
107+
-H "Authorization: Bearer <access_token>"
108+
----
109+
+
110+
This command does not return output.

modules/org-create-api.adoc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,25 @@ Example output
2929
[source,terminal]
3030
----
3131
"Created"
32+
----
33+
34+
. After creation, organization details can be changed, such as adding an email address, with the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#changeorganizationdetails[`PUT /api/v1/organization/{orgname}`] command. For example:
35+
+
36+
[source,terminal]
37+
----
38+
$ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>" \
39+
-H "Authorization: Bearer <access_token>" \
40+
-H "Content-Type: application/json" \
41+
-d '{
42+
"email": "<org_email>",
43+
"invoice_email": <true/false>,
44+
"invoice_email_address": "<billing_email>"
45+
}'
46+
----
47+
+
48+
.Example output
49+
+
50+
[source,terminal]
51+
----
52+
{"name": "test", "email": "[email protected]", "avatar": {"name": "test", "hash": "a15d479002b20f211568fd4419e76686d2b88a4980a5b4c4bc10420776c5f6fe", "color": "#aec7e8", "kind": "user"}, "is_admin": true, "is_member": true, "teams": {"owners": {"name": "owners", "description": "", "role": "admin", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}, "can_view": true, "repo_count": 0, "member_count": 1, "is_synced": false}}, "ordered_teams": ["owners"], "invoice_email": true, "invoice_email_address": "[email protected]", "tag_expiration_s": 1209600, "is_free_account": true, "quotas": [{"id": 2, "limit_bytes": 10737418240, "limits": [{"id": 1, "type": "Reject", "limit_percent": 90}]}], "quota_report": {"quota_bytes": 0, "configured_quota": 10737418240, "running_backfill": "complete", "backfill_status": "complete"}}
3253
----
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// module included in the following assemblies:
2+
3+
// * use_quay/master.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="org-proxy-cache-configuration-api"]
7+
= Configuring a proxy cache for an organization by using the {productname} API
8+
9+
Proxy caching for an organization can be configured by using the {productname} API.
10+
11+
.Procedure
12+
13+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#createproxycacheconfig[`POST /api/v1/organization/{orgname}/proxycache`] endpoint to create a proxy cache configuration for the organization.
14+
+
15+
[source,terminal]
16+
----
17+
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/proxycache" \
18+
-H "Authorization: Bearer <access_token>" \
19+
-H "Content-Type: application/json" \
20+
-d '{
21+
"upstream_registry": "<upstream_registry>"
22+
}'
23+
----
24+
25+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#validateproxycacheconfig[`POST /api/v1/organization/{orgname}/validateproxycache`] endpoint to validate the proxy configuration:
26+
+
27+
[source,terminal]
28+
----
29+
$ curl -X POST "https://<quay-server.example.com>/api/v1/organization/{orgname}/validateproxycache" \
30+
-H "Authorization: Bearer <access_token>" \
31+
-H "Content-Type: application/json" \
32+
-d '{
33+
"upstream_registry": "<upstream_registry>"
34+
}'
35+
36+
----
37+
38+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getproxycacheconfig[`GET /api/v1/organization/{orgname}/proxycache`] endpoint to obtain information about the proxcy cache. For example:
39+
+
40+
[source,terminal]
41+
----
42+
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \
43+
-H "Authorization: Bearer <access_token>"
44+
----
45+
+
46+
.Example output
47+
+
48+
[source,terminal]
49+
----
50+
{"upstream_registry": "quay.io", "expiration_s": 86400, "insecure": false}
51+
----
52+
53+
54+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#deleteproxycacheconfig[`DELETE /api/v1/organization/{orgname}/proxycache`] endpoint to
55+
+
56+
[source,terminal]
57+
----
58+
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/{orgname}/proxycache" \
59+
-H "Authorization: Bearer <access_token>"
60+
----
61+
+
62+
.Example output
63+
+
64+
[source,terminal]
65+
----
66+
"Deleted"
67+
----

modules/org-team-member-api.adoc

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// module included in the following assemblies:
2+
3+
// * use_quay/master.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="org-member-info-api"]
7+
= Retrieving organization member information by using the API
8+
9+
Information about organization members can be retrieved by using the {productname} API.
10+
11+
.Procedure
12+
13+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getorganizationmembers[`GET /api/v1/organization/{orgname}/members`] to return a list of organization members:
14+
+
15+
[source,terminal]
16+
----
17+
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members" \
18+
-H "Authorization: Bearer <access_token>"
19+
----
20+
+
21+
.Example output
22+
+
23+
[source,terminal]
24+
----
25+
{"members": [{"name": "quayadmin", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": ["testrepo"]}, {"name": "testuser", "kind": "user", "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": []}]}
26+
----
27+
28+
. You can use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getorganizationcollaborators[`GET /api/v1/organization/{orgname}/collaborators`] to return a list of organization collaborators:
29+
+
30+
[source,terminal]
31+
----
32+
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/{orgname}/collaborators" \
33+
-H "Authorization: Bearer <access_token>"
34+
----
35+
+
36+
.Example output
37+
+
38+
[source,terminal]
39+
----
40+
{"collaborators": [user-test]}
41+
----
42+
43+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#getorganizationmember[`GET /api/v1/organization/{orgname}/members/{membername}`] endpoint to obtain more specific information about a user:
44+
+
45+
[source,terminal]
46+
----
47+
$ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \
48+
-H "Authorization: Bearer <access_token>"
49+
----
50+
+
51+
.Example output
52+
+
53+
[source,terminal]
54+
----
55+
{"name": "quayadmin", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "teams": [{"name": "owners", "avatar": {"name": "owners", "hash": "6f0e3a8c0eb46e8834b43b03374ece43a030621d92a7437beb48f871e90f8d90", "color": "#c7c7c7", "kind": "team"}}], "repositories": ["testrepo"]}
56+
----
57+
58+
. Use the link:https://docs.redhat.com/en/documentation/red_hat_quay/{producty}/html-single/red_hat_quay_api_guide/index#removeorganizationmember[`DELETE /api/v1/organization/{orgname}/members/{membername}`] endpoint to delete a team member.
59+
+
60+
[source,terminal]
61+
----
62+
$ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/members/<membername>" \
63+
-H "Authorization: Bearer <access_token>"
64+
----
65+
+
66+
This command does not return output.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[id="organization-management-api"]
2+
= Establishing quota with the {productname} API
3+
4+
Organizations can be created and managed through API endpoints. With the {productname} API, you can create organizations, view organization information, create proxy caches for an organization, edit users with access to the organization, change organization details, delete organizations, and more.

0 commit comments

Comments
 (0)