Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add create api doc for CM properties #476

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions doc/compiled.json
Original file line number Diff line number Diff line change
Expand Up @@ -6178,6 +6178,126 @@
}
},
"/accounts/{account_id}/custom_metadata/labels/{id}": {
"post": {
"summary": "Create a property",
"description": "Create a new custom metadata property.",
"operationId": "custom_metadata_property/create",
"tags": [
"Custom Metadata"
],
"parameters": [
{
"$ref": "#/components/parameters/X-PhraseApp-OTP"
},
{
"$ref": "#/components/parameters/account_id"
},
{
"$ref": "#/components/parameters/id"
},
{
"description": "name of the property",
"example": [
"Fruit"
],
"name": "name",
"in": "query",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/data_type"
},
{
"description": "description of property",
"example": [
"A healthy snack for all ages"
],
"name": "description",
"in": "query",
"schema": {
"type": "string"
}
},
{
"description": "ids of projects that the property belongs to",
"example": [
"abcd1234cdef1234abcd1234cdef1234"
],
"name": "project_ids",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "value options of property (only applies to single or multi select properties)",
"example": [
"Apple",
"Banana",
"Coconut"
],
"name": "value_options",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/custom_metadata_property"
}
}
},
"headers": {
"X-Rate-Limit-Limit": {
"$ref": "#/components/headers/X-Rate-Limit-Limit"
},
"X-Rate-Limit-Remaining": {
"$ref": "#/components/headers/X-Rate-Limit-Remaining"
},
"X-Rate-Limit-Reset": {
"$ref": "#/components/headers/X-Rate-Limit-Reset"
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"404": {
"$ref": "#/components/responses/404"
},
"422": {
"$ref": "#/components/responses/422"
},
"429": {
"$ref": "#/components/responses/429"
}
},
"x-code-samples": [
{
"lang": "Curl",
"source": "curl \"https://api.phrase.com/v2/accounts/:account_id/custom_metadata/labels/:id\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"name\":\"Fruit\",\"description\":\"A healthy snack for all ages\",\"project_ids\":[\"1\",\"2\",\"3\"],\"value_options\":[\"apple\",\"banana\",\"coconut\"]}' \\\n -H 'Content-Type: application/json'"
},
{
"lang": "CLI v2",
"source": "phrase custom_metadata_properties create \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"name\":\"Fruit\",\"description\":\"A healthy snack for all ages\",\"project_ids\":[\"1\",\"2\",\"3\"],\"value_options\":[\"apple\",\"banana\",\"coconut\"]}' \\\n--access_token <token>"
}
],
"x-cli-version": "2.9"
},
"patch": {
"summary": "Update a property",
"description": "Update an existing custom metadata property.",
Expand Down
2 changes: 2 additions & 0 deletions paths.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@
get:
"$ref": "./paths/custom_metadata_properties/index.yaml"
"/accounts/{account_id}/custom_metadata/labels/{id}":
post:
"$ref": "./paths/custom_metadata_properties/create.yaml"
patch:
"$ref": "./paths/custom_metadata_properties/update.yaml"
"/accounts/{account_id}/invitations":
Expand Down
83 changes: 83 additions & 0 deletions paths/custom_metadata_properties/create.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
summary: Create a property
description: Create a new custom metadata property.
operationId: custom_metadata_property/create
tags:
- Custom Metadata
parameters:
- "$ref": "../../parameters.yaml#/X-PhraseApp-OTP"
- "$ref": "../../parameters.yaml#/account_id"
- "$ref": "../../parameters.yaml#/id"
- description: name of the property
example:
- Fruit
name: name
in: query
schema:
type: string
- "$ref": "../../parameters.yaml#/data_type"
- description: description of property
example:
- A healthy snack for all ages
name: description
in: query
schema:
type: string
- description: ids of projects that the property belongs to
example:
- abcd1234cdef1234abcd1234cdef1234
name: project_ids
in: query
schema:
type: array
items:
type: string
- description: value options of property (only applies to single or multi select properties)
example:
- Apple
- Banana
- Coconut
name: value_options
in: query
schema:
type: array
items:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "../../schemas/custom_metadata_property.yaml#/custom_metadata_property"
headers:
X-Rate-Limit-Limit:
"$ref": "../../headers.yaml#/X-Rate-Limit-Limit"
X-Rate-Limit-Remaining:
"$ref": "../../headers.yaml#/X-Rate-Limit-Remaining"
X-Rate-Limit-Reset:
"$ref": "../../headers.yaml#/X-Rate-Limit-Reset"
'400':
"$ref": "../../responses.yaml#/400"
'404':
"$ref": "../../responses.yaml#/404"
'422':
"$ref": "../../responses.yaml#/422"
'429':
"$ref": "../../responses.yaml#/429"
x-code-samples:
- lang: Curl
source: |-
curl "https://api.phrase.com/v2/accounts/:account_id/custom_metadata/labels/:id" \
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-d '{"name":"Fruit","description":"A healthy snack for all ages","project_ids":["1","2","3"],"value_options":["apple","banana","coconut"]}' \
-H 'Content-Type: application/json'
- lang: CLI v2
source: |-
phrase custom_metadata_properties create \
--account_id <account_id> \
--id <id> \
--data '{"name":"Fruit","description":"A healthy snack for all ages","project_ids":["1","2","3"],"value_options":["apple","banana","coconut"]}' \
--access_token <token>
x-cli-version: '2.9'
Loading