openapi: 3.2.0 info: title: TextMaster API v1 My Authors API version: v1 servers: - url: https://api.textmaster.com tags: - name: My Authors paths: /v1/clients/my_authors: get: summary: Get My Authors tags: - My Authors security: - oauth2: - preferred_author:manage - preferred_author:read - preferred_author:write parameters: - name: status in: query required: false description: 'The category of authors to list (lists all by default). Prossible values: * preferred * blacklisted * uncategorized * my_textmaster (legacy, prefer ''preferred'') ' schema: type: string enum: - preferred - blacklisted - uncategorized - my_textmaster - name: page in: query required: false description: Search results are limited to 100 items. Specify page number to read more than the first page. schema: type: integer - name: per_page in: query required: false description: Number of items per page. Default is 100. Maximum is 100. schema: type: integer responses: '401': description: Unauthorized content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '403': description: Forbidden content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '200': description: Lists My Authors content: application/json: examples: example_0: value: total_pages: 1 count: 1 page: 1 per_page: 100 previous_page: null next_page: null my_authors: - id: 61698aaf8b81926d91c0e87a author_id: 61698aaf8b81926d91c0e86f author_name: john author_ref: A-986F-FM created_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:35 UTC description: description latest_activity: 2021-10-15 14:05:06 UTC status: preferred tags: [] updated_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:35 UTC schema: type: object properties: total_pages: type: integer count: type: integer page: type: integer per_page: type: integer previous_page: type: - integer - 'null' next_page: type: - integer - 'null' my_authors: type: array items: $ref: '#/components/schemas/MyAuthor' post: summary: Add a My Author tags: - My Authors security: - oauth2: - preferred_author:manage - preferred_author:write parameters: [] responses: '401': description: Unauthorized content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '403': description: Forbidden content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '200': description: My Author Created content: application/json: examples: example_0: value: id: 61698ab08b81926d91c0e8ae author_id: 61698ab08b81926d91c0e8a3 author_name: john author_ref: A-98A3-FM created_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:36 UTC description: Some personal note latest_activity: 2021-10-15 14:05:06 UTC status: preferred tags: [] updated_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:36 UTC schema: $ref: '#/components/schemas/MyAuthor' '422': description: Unprocessable Entity content: application/json: examples: example_0: value: errors: author_id: - must be filled status: - 'must be one of: preferred, blacklisted, uncategorized' requestBody: content: application/json: schema: type: object properties: my_author: type: object properties: author_id: description: (required) Author ID example: 61698ab08b81926d91c0e8a3 type: string description: description: User note for this author example: Some personal note type: string status: description: '(required) Category to file the author in. Possible values: * preferred * blacklisted * uncategorized * my_textmaster (legacy, prefer ''preferred'') ' enum: - preferred - blacklisted - uncategorized - my_textmaster type: string required: - author_id - status required: - my_author /v1/clients/my_authors/{author_id}: get: summary: Retrieve a single My Author tags: - My Authors security: - oauth2: - preferred_author:manage - preferred_author:read - preferred_author:write parameters: - name: author_id in: path description: (required) ID of the Author required: true schema: type: string responses: '401': description: Unauthorized content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '403': description: Forbidden content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '200': description: Gets My Author Info content: application/json: examples: example_0: value: id: 61698ab08b81926d91c0e8ae author_id: 61698ab08b81926d91c0e8a3 author_name: john author_ref: A-98A3-FM created_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:36 UTC description: description latest_activity: 2021-10-15 14:05:06 UTC status: preferred tags: [] updated_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:36 UTC schema: $ref: '#/components/schemas/MyAuthor' '404': description: My Author Info Not Found content: application/json: examples: example_0: value: errors: base: - Resource not found. put: summary: Update My Author tags: - My Authors security: - oauth2: - preferred_author:manage - preferred_author:write parameters: - name: author_id in: path description: (required) ID of the Author required: true schema: type: string responses: '401': description: Unauthorized content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '403': description: Forbidden content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '200': description: My Author Updated content: application/json: examples: example_0: value: id: 61698ab08b81926d91c0e8ae author_id: 61698ab08b81926d91c0e8a3 author_name: john author_ref: A-98A3-FM created_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:36 UTC description: description latest_activity: 2021-10-15 14:05:06 UTC status: my_textmaster tags: [] updated_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:36 UTC schema: $ref: '#/components/schemas/MyAuthor' '404': description: My Author Info Not Found content: application/json: examples: example_0: value: errors: base: - Resource not found. schema: type: object properties: errors: type: object properties: base: type: array items: type: string required: - base required: - errors '422': description: Unprocessable Entity content: application/json: examples: example_0: value: errors: status: - 'must be one of: preferred, blacklisted, uncategorized' schema: type: object properties: errors: type: object properties: status: type: array items: type: string required: [] required: - errors requestBody: content: application/json: schema: type: object properties: my_author: type: object properties: description: description: User note for this author example: Updated personal note type: string status: description: '(required) Category to file the author in. Possible values: * preferred * blacklisted * uncategorized * my_textmaster (legacy, prefer ''preferred'') ' enum: - preferred - blacklisted - uncategorized - my_textmaster type: string required: - status required: - my_author /v1/clients/projects/{project_id}/my_authors: get: summary: Get all My Authors who can do a given Project tags: - My Authors security: - oauth2: - preferred_author:manage - preferred_author:write - preferred_author:read parameters: - name: project_id in: path required: true description: The Project ID. schema: type: string - name: status in: query required: false description: 'The category of authors to list (lists all by default). Prossible values: * preferred * blacklisted * uncategorized * my_textmaster (legacy, prefer ''preferred'') ' schema: type: string enum: - preferred - blacklisted - uncategorized - my_textmaster - name: page in: query required: false description: Search results are limited to 100 items. Specify page number to read more than the first page. schema: type: integer responses: '401': description: Unauthorized content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '403': description: Forbidden content: application/json: examples: example_0: value: error: invalid_token error_description: The access token is invalid state: unauthorizez '200': description: Lists possible My Authors content: application/json: examples: example_0: value: total_pages: 1 count: 1 page: 1 per_page: 20 previous_page: null next_page: null my_authors: - id: 61698aaf8b81926d91c0e87a author_id: 61698aaf8b81926d91c0e86f author_name: john author_ref: A-986F-FM created_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:35 UTC description: description latest_activity: 2021-10-15 14:05:06 UTC status: preferred tags: [] updated_at: day: 15 month: 10 year: 2021 full: 2021-10-15 14:05:35 UTC schema: type: object properties: total_pages: type: integer count: type: integer page: type: integer per_page: type: integer previous_page: type: - integer - 'null' next_page: type: - integer - 'null' my_authors: type: array items: $ref: '#/components/schemas/MyAuthor' components: schemas: Date: type: object properties: day: type: integer month: type: integer year: type: integer full: type: string MyAuthor: type: object properties: id: type: string author_id: type: string author_name: type: string author_ref: type: string created_at: $ref: '#/components/schemas/Date' description: type: - string - 'null' latest_activity: type: string status: type: string tags: type: array items: type: string updated_at: $ref: '#/components/schemas/Date' securitySchemes: oauth2: type: oauth2 description: OAuth2 Bearer token authentication flows: authorizationCode: authorizationUrl: https://api.textmaster.com/oauth/authorize tokenUrl: https://api.textmaster.com/oauth/token refreshUrl: https://api.textmaster.com/oauth/token scopes: preferred_author:manage: Allow read & write access to My Authors preferred_author:read: Allow read access to My Authors preferred_author:write: Allow write access to My Authors