Dropbox Sign (HelloSign) Team API
{'$ref': './markdown/en/tags/team-tag-description.md'}
{'$ref': './markdown/en/tags/team-tag-description.md'}
openapi: 3.0.3
info:
title: Dropbox Sign Account Team API
description: Dropbox Sign v3 API
termsOfService: https://www.hellosign.com/terms
contact:
email: apisupport@hellosign.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 3.0.0
servers:
- url: https://api.hellosign.com/v3
security:
- api_key: []
- oauth2:
- account_access
- signature_request_access
- template_access
- team_access
- api_app_access
- basic_account_info
- request_signature
tags:
- name: Team
description:
$ref: ./markdown/en/tags/team-tag-description.md
paths:
/team/add_member:
put:
tags:
- Team
summary: Add User to Team
description: Invites a user (specified using the `email_address` parameter) to your Team. If the user does not currently have a Dropbox Sign Account, a new one will be created for them. If a user is already a part of another Team, a `team_invite_failed` error will be returned.
operationId: teamAddMember
parameters:
- name: team_id
in: query
description: The id of the team.
required: false
schema:
type: string
example: 4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamAddMemberRequest'
examples:
example:
$ref: '#/components/examples/TeamAddMemberRequest'
account_id_example:
$ref: '#/components/examples/TeamAddMemberRequestAccountId'
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamGetResponse'
examples:
example:
$ref: '#/components/examples/TeamAddMemberResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamAddMemberExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamAddMemberExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamAddMemberExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamAddMemberExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamAddMemberExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamAddMemberExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamAddMemberExample.sh
x-meta:
seo:
title: Add User to Team | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to invite a specified user to your Team, click here.
/team/create:
post:
tags:
- Team
summary: Create Team
description: Creates a new Team and makes you a member. You must not currently belong to a Team to invoke.
operationId: teamCreate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamCreateRequest'
examples:
example:
$ref: '#/components/examples/TeamCreateRequest'
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamGetResponse'
examples:
example:
$ref: '#/components/examples/TeamCreateResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamCreateExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamCreateExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamCreateExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamCreateExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamCreateExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamCreateExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamCreateExample.sh
x-meta:
seo:
title: Create Team | REST API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API allows you to build custom eSign integrations. To find out how to create a new team and make yourself a member, click here.
/team/destroy:
delete:
tags:
- Team
summary: Delete Team
description: Deletes your Team. Can only be invoked when you have a Team with only one member (yourself).
operationId: teamDelete
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamDeleteExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamDeleteExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamDeleteExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamDeleteExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamDeleteExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamDeleteExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamDeleteExample.sh
x-meta:
seo:
title: Delete Team | REST API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to delete a team you are a member of, click here.
/team:
get:
tags:
- Team
summary: Get Team
description: Returns information about your Team as well as a list of its members. If you do not belong to a Team, a 404 error with an error_name of "not_found" will be returned.
operationId: teamGet
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamGetResponse'
examples:
example:
$ref: '#/components/examples/TeamGetResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamGetExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamGetExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamGetExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamGetExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamGetExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamGetExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamGetExample.sh
x-meta:
seo:
title: Get Team | REST API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to return information about your Team, click here.
put:
tags:
- Team
summary: Update Team
description: Updates the name of your Team.
operationId: teamUpdate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamUpdateRequest'
examples:
example:
$ref: '#/components/examples/TeamUpdateRequest'
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamGetResponse'
examples:
example:
$ref: '#/components/examples/TeamUpdateResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamUpdateExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamUpdateExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamUpdateExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamUpdateExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamUpdateExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamUpdateExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamUpdateExample.sh
x-meta:
seo:
title: Update Team | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to update the name of your team, click here.
/team/info:
get:
tags:
- Team
summary: Get Team Info
description: Provides information about a team.
operationId: teamInfo
parameters:
- name: team_id
in: query
description: The id of the team.
required: false
schema:
type: string
example: 4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamGetInfoResponse'
examples:
example:
$ref: '#/components/examples/TeamGetInfoResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamInfoExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamInfoExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamInfoExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamInfoExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamInfoExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamInfoExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamInfoExample.sh
x-meta:
seo:
title: Get Team Info | Dropbox Sign for Developers
description: The Dropbox Sign API allows you automate your team management. To find out how to get information about a specific team, click here.
/team/invites:
get:
tags:
- Team
summary: List Team Invites
description: Provides a list of team invites (and their roles).
operationId: teamInvites
parameters:
- name: email_address
in: query
description: The email address for which to display the team invites.
required: false
schema:
type: string
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamInvitesResponse'
examples:
example:
$ref: '#/components/examples/TeamInvitesResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- account_access
- basic_account_info
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamInvitesExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamInvitesExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamInvitesExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamInvitesExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamInvitesExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamInvitesExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamInvitesExample.sh
x-meta:
seo:
title: List Team Invites | Dropbox Sign for Developers
description: The Dropbox Sign API allows you automate your team management. To find out how to get a list of team invites (and their roles), click here.
/team/members/{team_id}:
get:
tags:
- Team
summary: List Team Members
description: Provides a paginated list of members (and their roles) that belong to a given team.
operationId: teamMembers
parameters:
- name: team_id
in: path
description: The id of the team that a member list is being requested from.
required: true
schema:
type: string
example: 4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c
- name: page
in: query
description: Which page number of the team member list to return. Defaults to `1`.
schema:
type: integer
default: 1
- name: page_size
in: query
description: Number of objects to be returned per page. Must be between `1` and `100`. Default is `20`.
schema:
type: integer
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMembersResponse'
examples:
example:
$ref: '#/components/examples/TeamMembersResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamMembersExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamMembersExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamMembersExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamMembersExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamMembersExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamMembersExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamMembersExample.sh
x-meta:
seo:
title: List Team Members | Dropbox Sign for Developers
description: The Dropbox Sign API allows you automate your team management. To find out how to get a list of team members and their roles for a specific team, click here.
/team/remove_member:
post:
tags:
- Team
summary: Remove User from Team
description: Removes the provided user Account from your Team. If the Account had an outstanding invitation to your Team, the invitation will be expired. If you choose to transfer documents from the removed Account to an Account provided in the `new_owner_email_address` parameter (available only for Enterprise plans), the response status code will be 201, which indicates that your request has been queued but not fully executed.
operationId: teamRemoveMember
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamRemoveMemberRequest'
examples:
example:
$ref: '#/components/examples/TeamRemoveMemberRequest'
account_id_example:
$ref: '#/components/examples/TeamRemoveMemberRequestAccountId'
responses:
'201':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamGetResponse'
examples:
example:
$ref: '#/components/examples/TeamRemoveMemberResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamRemoveMemberExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamRemoveMemberExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamRemoveMemberExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamRemoveMemberExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamRemoveMemberExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamRemoveMemberExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamRemoveMemberExample.sh
x-meta:
seo:
title: Remove User from Team | REST API | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to remove a user Account from your Team, click here.
/team/sub_teams/{team_id}:
get:
tags:
- Team
summary: List Sub Teams
description: Provides a paginated list of sub teams that belong to a given team.
operationId: teamSubTeams
parameters:
- name: team_id
in: path
description: The id of the parent Team.
required: true
schema:
type: string
example: 4fea99bfcf2b26bfccf6cea3e127fb8bb74d8d9c
- name: page
in: query
description: Which page number of the SubTeam List to return. Defaults to `1`.
schema:
type: integer
default: 1
- name: page_size
in: query
description: Number of objects to be returned per page. Must be between `1` and `100`. Default is `20`.
schema:
type: integer
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TeamSubTeamsResponse'
examples:
example:
$ref: '#/components/examples/TeamSubTeamsResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- team_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TeamSubTeamsExample.php
- lang: C#
label: C#
source:
$ref: examples/TeamSubTeamsExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TeamSubTeamsExample.ts
- lang: Java
label: Java
source:
$ref: examples/TeamSubTeamsExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TeamSubTeamsExample.rb
- lang: Python
label: Python
source:
$ref: examples/TeamSubTeamsExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TeamSubTeamsExample.sh
x-meta:
seo:
title: List Sub Teams | Dropbox Sign for Developers
description: The Dropbox Sign API allows you automate your team management. To find out how to get a list of sub teams that exist for a given team, click here.
components:
schemas:
TeamResponse:
description: Contains information about your team and its members
properties:
name:
description: The name of your Team
type: string
accounts:
type: array
items:
$ref: '#/components/schemas/AccountResponse'
invited_accounts:
description: A list of all Accounts that have an outstanding invitation to join your Team. Note that this response is a subset of the response parameters found in `GET /account`.
type: array
items:
$ref: '#/components/schemas/AccountResponse'
invited_emails:
description: A list of email addresses that have an outstanding invitation to join your Team and do not yet have a Dropbox Sign account.
type: array
items:
type: string
type: obje
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hellosign/refs/heads/main/openapi/hellosign-team-api-openapi.yml