arazzo: 1.0.1
info:
title: X Create a Post, Like It, Then Delete It
summary: Publish a post, like it from the authenticated account, then remove it.
description: >-
A self-contained authoring lifecycle for the X API. The workflow creates a
new post for the authenticated user, immediately likes that freshly created
post, and then deletes it - useful for smoke-testing write access end to
end. Each step inlines its request body and the authenticated user id so the
chain can be read and executed without opening the underlying OpenAPI
description.
version: 1.0.0
sourceDescriptions:
- name: tweetsApi
url: ../openapi/twitter-tweets-api-openapi.yml
type: openapi
workflows:
- workflowId: post-like-cleanup
summary: Create a post, like it, and delete it in one lifecycle.
description: >-
Chains the create-post, like-post, and delete-post operations using the id
returned by the create step as the target of the like and delete steps.
inputs:
type: object
required:
- authUserId
- text
properties:
authUserId:
type: string
description: The numeric id of the authenticated user performing the actions.
text:
type: string
description: The text body of the post to create.
authorization:
type: string
description: OAuth2 user token to authorize the requests (e.g. "Bearer xxx").
steps:
- stepId: createPost
description: Create a new post for the authenticated user with the supplied text.
operationId: createPosts
requestBody:
contentType: application/json
payload:
text: $inputs.text
parameters:
- name: Authorization
in: header
value: $inputs.authorization
successCriteria:
- condition: $statusCode == 201
outputs:
postId: $response.body#/data/id
postText: $response.body#/data/text
- stepId: likePost
description: Like the post that was just created from the authenticated account.
operationId: likePost
parameters:
- name: id
in: path
value: $inputs.authUserId
- name: Authorization
in: header
value: $inputs.authorization
requestBody:
contentType: application/json
payload:
tweet_id: $steps.createPost.outputs.postId
successCriteria:
- condition: $statusCode == 200
outputs:
liked: $response.body#/data/liked
- stepId: deletePost
description: Delete the created post to clean up after the lifecycle test.
operationId: deletePosts
parameters:
- name: id
in: path
value: $steps.createPost.outputs.postId
- name: Authorization
in: header
value: $inputs.authorization
successCriteria:
- condition: $statusCode == 200
outputs:
deleted: $response.body#/data/deleted
outputs:
postId: $steps.createPost.outputs.postId
liked: $steps.likePost.outputs.liked
deleted: $steps.deletePost.outputs.deleted
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.