Forgejo organization API
The organization API from Forgejo — 42 operation(s) for organization.
The organization API from Forgejo — 42 operation(s) for organization.
swagger: '2.0'
info:
description: This documentation describes the Forgejo API.
title: Forgejo activitypub organization API
license:
name: This file is distributed under the MIT license for the purpose of interoperability
url: http://opensource.org/licenses/MIT
version: 16.0.0-dev-465-4b83448b7d+gitea-1.22.0
basePath: /api/v1
schemes:
- https
- http
consumes:
- application/json
- text/plain
produces:
- application/json
- text/html
security:
- BasicAuth: []
- AuthorizationHeaderToken: []
- SudoParam: []
- SudoHeader: []
- TOTPHeader: []
tags:
- name: organization
paths:
/org/{org}/repos:
post:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Create a repository in an organization
operationId: createOrgRepoDeprecated
deprecated: true
parameters:
- type: string
description: name of organization
name: org
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/CreateRepoOption'
responses:
'201':
$ref: '#/responses/Repository'
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
'422':
$ref: '#/responses/validationError'
/orgs:
get:
produces:
- application/json
tags:
- organization
summary: List all organizations
operationId: orgGetAll
parameters:
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/OrganizationList'
post:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Create an organization
operationId: orgCreate
parameters:
- name: organization
in: body
required: true
schema:
$ref: '#/definitions/CreateOrgOption'
responses:
'201':
$ref: '#/responses/Organization'
'403':
$ref: '#/responses/forbidden'
'422':
$ref: '#/responses/validationError'
/orgs/{org}:
get:
produces:
- application/json
tags:
- organization
summary: Get an organization
operationId: orgGet
parameters:
- type: string
description: name of the organization to get
name: org
in: path
required: true
responses:
'200':
$ref: '#/responses/Organization'
'404':
$ref: '#/responses/notFound'
delete:
produces:
- application/json
tags:
- organization
summary: Delete an organization
operationId: orgDelete
parameters:
- type: string
description: organization that is to be deleted
name: org
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
patch:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Edit an organization
operationId: orgEdit
parameters:
- type: string
description: name of the organization to edit
name: org
in: path
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/EditOrgOption'
responses:
'200':
$ref: '#/responses/Organization'
'404':
$ref: '#/responses/notFound'
'422':
$ref: '#/responses/error'
/orgs/{org}/actions/runners:
get:
produces:
- application/json
tags:
- organization
summary: Get the organization's runners
operationId: getOrgRunners
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: boolean
description: whether to include all visible runners (true) or only those that are directly owned by the organization (false)
name: visible
in: query
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/ActionRunnerList'
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
post:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Register a new organization-level runner
operationId: registerOrgRunner
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/RegisterRunnerOptions'
responses:
'201':
$ref: '#/responses/RegisterRunnerResponse'
'400':
$ref: '#/responses/error'
'401':
$ref: '#/responses/unauthorized'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/actions/runners/jobs:
get:
produces:
- application/json
tags:
- organization
summary: Search for organization's action jobs according filter conditions
operationId: orgSearchRunJobs
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: a comma separated list of run job labels to search for
name: labels
in: query
responses:
'200':
$ref: '#/responses/RunJobList'
'403':
$ref: '#/responses/forbidden'
/orgs/{org}/actions/runners/registration-token:
get:
description: 'This operation has been deprecated in Forgejo 15. Use the web UI or [`/orgs/{org}/actions/runners`](#/organization/registerOrgRunner) instead.
'
produces:
- application/json
tags:
- organization
summary: Get the organization's runner registration token
operationId: orgGetRunnerRegistrationToken
deprecated: true
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
responses:
'200':
$ref: '#/responses/RegistrationToken'
/orgs/{org}/actions/runners/{runner_id}:
get:
produces:
- application/json
tags:
- organization
summary: Get a particular runner that belongs to the organization
operationId: getOrgRunner
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: ID of the runner
name: runner_id
in: path
required: true
responses:
'200':
$ref: '#/responses/ActionRunner'
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
delete:
produces:
- application/json
tags:
- organization
summary: Delete a particular runner that belongs to the organization
operationId: deleteOrgRunner
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: ID of the runner
name: runner_id
in: path
required: true
responses:
'204':
description: runner has been deleted
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/actions/secrets:
get:
produces:
- application/json
tags:
- organization
summary: List actions secrets of an organization
operationId: orgListActionsSecrets
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/SecretList'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/actions/secrets/{secretname}:
put:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Create or Update a secret value in an organization
operationId: updateOrgSecret
parameters:
- type: string
description: name of organization
name: org
in: path
required: true
- type: string
description: name of the secret
name: secretname
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/CreateOrUpdateSecretOption'
responses:
'201':
description: response when creating a secret
'204':
description: response when updating a secret
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
delete:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Delete a secret in an organization
operationId: deleteOrgSecret
parameters:
- type: string
description: name of organization
name: org
in: path
required: true
- type: string
description: name of the secret
name: secretname
in: path
required: true
responses:
'204':
description: delete one secret of the organization
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/actions/variables:
get:
produces:
- application/json
tags:
- organization
summary: List variables of an organization
operationId: getOrgVariablesList
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/VariableList'
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/actions/variables/{variablename}:
get:
produces:
- application/json
tags:
- organization
summary: Get organization's variable by name
operationId: getOrgVariable
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: name of the variable
name: variablename
in: path
required: true
responses:
'200':
$ref: '#/responses/ActionVariable'
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
put:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Update variable in organization
operationId: updateOrgVariable
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: name of the variable
name: variablename
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/UpdateVariableOption'
responses:
'201':
description: response when updating an org-level variable
'204':
description: response when updating an org-level variable
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
post:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Create a new variable in organization
operationId: createOrgVariable
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: name of the variable
name: variablename
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/CreateVariableOption'
responses:
'201':
description: response when creating an org-level variable
'204':
description: response when creating an org-level variable
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
delete:
produces:
- application/json
tags:
- organization
summary: Delete organization's variable by name
operationId: deleteOrgVariable
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: name of the variable
name: variablename
in: path
required: true
responses:
'204':
description: response when deleting a variable
'400':
$ref: '#/responses/error'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/activities/feeds:
get:
produces:
- application/json
tags:
- organization
summary: List an organization's activity feeds
operationId: orgListActivityFeeds
parameters:
- type: string
description: name of the org
name: org
in: path
required: true
- type: string
format: date
description: the date of the activities to be found
name: date
in: query
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/ActivityFeedsList'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/avatar:
post:
produces:
- application/json
tags:
- organization
summary: Update an organization's avatar
operationId: orgUpdateAvatar
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/UpdateUserAvatarOption'
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
delete:
produces:
- application/json
tags:
- organization
summary: Delete an organization's avatar. It will be replaced by a default one
operationId: orgDeleteAvatar
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/block/{username}:
put:
produces:
- application/json
tags:
- organization
summary: Blocks a user from the organization
operationId: orgBlockUser
parameters:
- type: string
description: name of the org
name: org
in: path
required: true
- type: string
description: username of the user
name: username
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
'422':
$ref: '#/responses/validationError'
/orgs/{org}/hooks:
get:
produces:
- application/json
tags:
- organization
summary: List an organization's webhooks
operationId: orgListHooks
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/HookListWithoutPagination'
'404':
$ref: '#/responses/notFound'
post:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Create a hook
operationId: orgCreateHook
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CreateHookOption'
responses:
'201':
$ref: '#/responses/Hook'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/hooks/{id}:
get:
produces:
- application/json
tags:
- organization
summary: Get a hook
operationId: orgGetHook
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
format: int64
description: id of the hook to get
name: id
in: path
required: true
responses:
'200':
$ref: '#/responses/Hook'
'404':
$ref: '#/responses/notFound'
delete:
produces:
- application/json
tags:
- organization
summary: Delete a hook
operationId: orgDeleteHook
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
format: int64
description: id of the hook to delete
name: id
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
patch:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Update a hook
operationId: orgEditHook
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
format: int64
description: id of the hook to update
name: id
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/EditHookOption'
responses:
'200':
$ref: '#/responses/Hook'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/labels:
get:
produces:
- application/json
tags:
- organization
summary: List an organization's labels
operationId: orgListLabels
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- enum:
- mostissues
- leastissues
- reversealphabetically
type: string
description: 'Specifies the sorting method: mostissues, leastissues, or reversealphabetically.'
name: sort
in: query
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/LabelList'
'404':
$ref: '#/responses/notFound'
post:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Create a label for an organization
operationId: orgCreateLabel
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/CreateLabelOption'
responses:
'201':
$ref: '#/responses/Label'
'404':
$ref: '#/responses/notFound'
'422':
$ref: '#/responses/validationError'
/orgs/{org}/labels/{id}:
get:
produces:
- application/json
tags:
- organization
summary: Get a single label
operationId: orgGetLabel
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
format: int64
description: id of the label to get
name: id
in: path
required: true
responses:
'200':
$ref: '#/responses/Label'
'404':
$ref: '#/responses/notFound'
delete:
tags:
- organization
summary: Delete a label
operationId: orgDeleteLabel
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
format: int64
description: id of the label to delete
name: id
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
patch:
consumes:
- application/json
produces:
- application/json
tags:
- organization
summary: Update a label
operationId: orgEditLabel
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
format: int64
description: id of the label to edit
name: id
in: path
required: true
- name: body
in: body
schema:
$ref: '#/definitions/EditLabelOption'
responses:
'200':
$ref: '#/responses/Label'
'404':
$ref: '#/responses/notFound'
'422':
$ref: '#/responses/validationError'
/orgs/{org}/list_blocked:
get:
produces:
- application/json
tags:
- organization
summary: List the organization's blocked users
operationId: orgListBlockedUsers
parameters:
- type: string
description: name of the org
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/BlockedUserList'
/orgs/{org}/members:
get:
produces:
- application/json
tags:
- organization
summary: List an organization's members
operationId: orgListMembers
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/UserList'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/members/{username}:
get:
tags:
- organization
summary: Check if a user is a member of an organization
operationId: orgIsMember
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: username of the user
name: username
in: path
required: true
responses:
'204':
description: user is a member
'303':
description: redirection to /orgs/{org}/public_members/{username}
'404':
description: user is not a member
delete:
produces:
- application/json
tags:
- organization
summary: Remove a member from an organization
operationId: orgDeleteMember
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: username of the user
name: username
in: path
required: true
responses:
'204':
description: member removed
'404':
$ref: '#/responses/notFound'
/orgs/{org}/public_members:
get:
produces:
- application/json
tags:
- organization
summary: List an organization's public members
operationId: orgListPublicMembers
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/UserList'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/public_members/{username}:
get:
tags:
- organization
summary: Check if a user is a public member of an organization
operationId: orgIsPublicMember
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: username of the user
name: username
in: path
required: true
responses:
'204':
description: user is a public member
'404':
description: user is not a public member
put:
produces:
- application/json
tags:
- organization
summary: Publicize a user's membership
operationId: orgPublicizeMember
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: username of the user
name: username
in: path
required: true
responses:
'204':
description: membership publicized
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
delete:
produces:
- application/json
tags:
- organization
summary: Conceal a user's membership
operationId: orgConcealMember
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: username of the user
name: username
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/quota:
get:
produces:
- application/json
tags:
- organization
summary: Get quota information for an organization
operationId: orgGetQuota
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
responses:
'200':
$ref: '#/responses/QuotaInfo'
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/quota/artifacts:
get:
produces:
- application/json
tags:
- organization
summary: List the artifacts affecting the organization's quota
operationId: orgListQuotaArtifacts
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/QuotaUsedArtifactList'
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/quota/attachments:
get:
produces:
- application/json
tags:
- organization
summary: List the attachments affecting the organization's quota
operationId: orgListQuotaAttachments
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/QuotaUsedAttachmentList'
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/quota/check:
get:
produces:
- application/json
tags:
- organization
summary: Check if the organization is over quota for a given subject
operationId: orgCheckQuota
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: string
description: subject of the quota
name: subject
in: query
required: true
responses:
'200':
description: Returns true if the action is accepted.
schema:
type: boolean
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
'422':
$ref: '#/responses/validationError'
/orgs/{org}/quota/packages:
get:
produces:
- application/json
tags:
- organization
summary: List the packages affecting the organization's quota
operationId: orgListQuotaPackages
parameters:
- type: string
description: name of the organization
name: org
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
responses:
'200':
$ref: '#/responses/QuotaUsedPackageList'
'403':
$ref: '#/responses/forbidden'
'404':
$ref: '#/responses/notFound'
/orgs/{org}/rename:
post:
produces:
- application/json
tags:
- organization
summary: Rename an organization
operationId: renameOrg
parameters:
- type: string
description: existing org name
name: org
in: path
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/RenameOrgOption'
responses:
'204':
$ref: '#/responses/empty'
'403':
$ref: '#/responses/forbidden'
'422':
$ref: '#/responses/validationError'
/orgs/{org}/repos:
get:
produces:
- application/json
tags:
- organization
# --- truncated at 32 KB (97 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/forgejo/refs/heads/main/openapi/forgejo-organization-api-openapi.yml