Sorsa · Capability

Sorsa API — Tweets

Sorsa API — Tweets. 8 operations. Lead operation: Article Data. Self-contained Naftiko capability covering one Sorsa business surface.

Run with Naftiko SorsaTweets

What You Can Do

POST
Post — Article Data
/v1/article
POST
Post — Tweet Comments
/v1/comments
POST
Post — Quote Tweets
/v1/quotes
POST
Post — Retweeters List
/v1/retweeters
GET
Get — Trends List
/v1/trends
POST
Post — Tweet Data
/v1/tweet-info
POST
Post — Tweet Data (batch)
/v1/tweet-info-bulk
POST
Post — User Tweets
/v1/user-tweets

MCP Tools

article-data

Article Data

tweet-comments

Tweet Comments

quote-tweets

Quote Tweets

retweeters-list

Retweeters List

trends-list

Trends List

read-only idempotent
tweet-data

Tweet Data

tweet-data-batch

Tweet Data (batch)

user-tweets

User Tweets

Capability Spec

sorsa-tweets.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Sorsa API — Tweets
  description: 'Sorsa API — Tweets. 8 operations. Lead operation: Article Data. Self-contained Naftiko capability covering
    one Sorsa business surface.'
  tags:
  - Sorsa
  - Tweets
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SORSA_API_KEY: SORSA_API_KEY
capability:
  consumes:
  - type: http
    namespace: sorsa-tweets
    baseUri: https://api.sorsa.io/v3
    description: Sorsa API — Tweets business capability. Self-contained, no shared references.
    resources:
    - name: article
      path: /article
      operations:
      - name: post
        method: POST
        description: Article Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: comments
      path: /comments
      operations:
      - name: post
        method: POST
        description: Tweet Comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: quotes
      path: /quotes
      operations:
      - name: post
        method: POST
        description: Quote Tweets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: retweeters
      path: /retweeters
      operations:
      - name: post
        method: POST
        description: Retweeters List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: trends
      path: /trends
      operations:
      - name: get
        method: GET
        description: Trends List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: woeid
          in: query
          type: integer
          description: 'WOEID (Where On Earth IDentifier) of the location to get trends for Woeid list: https://gist.github.com/tedyblood/5bb5a9f78314cc1f478b3dd7cde790b9'
          required: true
    - name: tweet-info
      path: /tweet-info
      operations:
      - name: post
        method: POST
        description: Tweet Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: tweet-info-bulk
      path: /tweet-info-bulk
      operations:
      - name: post
        method: POST
        description: Tweet Data (batch)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-tweets
      path: /user-tweets
      operations:
      - name: post
        method: POST
        description: User Tweets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: ApiKey
      value: '{{env.SORSA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: sorsa-tweets-rest
    port: 8080
    description: REST adapter for Sorsa API — Tweets. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/article
      name: article
      description: REST surface for article.
      operations:
      - method: POST
        name: post
        description: Article Data
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/comments
      name: comments
      description: REST surface for comments.
      operations:
      - method: POST
        name: post
        description: Tweet Comments
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/quotes
      name: quotes
      description: REST surface for quotes.
      operations:
      - method: POST
        name: post
        description: Quote Tweets
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/retweeters
      name: retweeters
      description: REST surface for retweeters.
      operations:
      - method: POST
        name: post
        description: Retweeters List
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/trends
      name: trends
      description: REST surface for trends.
      operations:
      - method: GET
        name: get
        description: Trends List
        call: sorsa-tweets.get
        with:
          woeid: rest.woeid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tweet-info
      name: tweet-info
      description: REST surface for tweet-info.
      operations:
      - method: POST
        name: post
        description: Tweet Data
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tweet-info-bulk
      name: tweet-info-bulk
      description: REST surface for tweet-info-bulk.
      operations:
      - method: POST
        name: post
        description: Tweet Data (batch)
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user-tweets
      name: user-tweets
      description: REST surface for user-tweets.
      operations:
      - method: POST
        name: post
        description: User Tweets
        call: sorsa-tweets.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: sorsa-tweets-mcp
    port: 9090
    transport: http
    description: MCP adapter for Sorsa API — Tweets. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: article-data
      description: Article Data
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: tweet-comments
      description: Tweet Comments
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: quote-tweets
      description: Quote Tweets
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retweeters-list
      description: Retweeters List
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: trends-list
      description: Trends List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sorsa-tweets.get
      with:
        woeid: tools.woeid
      outputParameters:
      - type: object
        mapping: $.
    - name: tweet-data
      description: Tweet Data
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: tweet-data-batch
      description: Tweet Data (batch)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: user-tweets
      description: User Tweets
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sorsa-tweets.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.