General Services Administration Attachments API

The attachments API from General Services Administration — 5 operation(s) for attachments.

Operations 6

GET /opps/v1/api/attachments Download all attachments from an opportunity #
GET /opps/v1/api/resources/files/{resourceId}/download get attachment #
POST /opps/v1/api/{opportunityId}/attachments Add attachment to an opportunity #
DELETE /opps/v1/api/{opportunityId}/attachments/{resourceId} Delete attachment for an opportunity #
PATCH /opps/v1/api/{opportunityId}/attachments/{resourceId} Update attachment to an opportunity #
GET /opps/v1/api/{opportunityId}/resources/download/zip Download Opportunity's attachments as zip #

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/general-services-administration-attachments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

general-services-administration-attachments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: MicroService for GSA IAE Modernized Opportunity
  version: 0.1.0
  title: GSA IAE Opportunity Modernization Attachments API
  termsOfService: https://beta.sam.gov
  contact: {}
  license:
    url: http://unlicense.org
servers:
- url: https://localhost:8080/
tags:
- name: Attachments
paths:
  /opps/v1/api/attachments:
    get:
      tags:
      - Attachments
      summary: Download all attachments from an opportunity
      description: Download attachments for an opportunity.
      operationId: downloadAttchmentsUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        description: api_key
        required: true
        schema:
          type: string
      - name: excludeDeleted
        in: query
        description: 'excludeDeleted '
        required: false
        allowEmptyValue: false
        schema:
          type: boolean
      - name: opportunityId
        in: query
        description: opportunityId
        required: true
        allowEmptyValue: false
        schema:
          type: string
      - name: resourceId
        in: query
        description: 'resourceId '
        required: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
        '501':
          description: Not Implemented
          content:
            application/json:
              schema:
                type: string
      deprecated: false
  /opps/v1/api/resources/files/{resourceId}/download:
    get:
      tags:
      - Attachments
      summary: get attachment
      description: get attachment.
      operationId: getAttachmentUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        description: api_key
        required: true
        schema:
          type: string
      - name: resourceId
        in: path
        description: resourceId
        required: true
        schema:
          type: string
      - name: status
        in: query
        description: status
        required: false
        allowEmptyValue: false
        schema:
          type: string
      - name: token
        in: query
        description: token
        required: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                type: string
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                type: string
        '501':
          description: Not Implemented
          content:
            '*/*':
              schema:
                type: string
      deprecated: false
  /opps/v1/api/{opportunityId}/attachments:
    post:
      tags:
      - Attachments
      summary: Add attachment to an opportunity
      description: Add attachment to an opportunity.
      operationId: createAttachmentUsingPOST
      parameters:
      - name: Authorization
        in: header
        description: Authorization
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        description: api_key
        required: true
        schema:
          type: string
      - name: opportunityId
        in: path
        description: opportunityId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
        '501':
          description: Not Implemented
          content:
            application/json:
              schema:
                type: string
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: string
        description: requestJson
  /opps/v1/api/{opportunityId}/attachments/{resourceId}:
    delete:
      tags:
      - Attachments
      summary: Delete attachment for an opportunity
      description: Delete attachment for an opportunity.
      operationId: deleteAttachmentUsingDELETE
      parameters:
      - name: Authorization
        in: header
        description: Authorization
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        description: api_key
        required: true
        schema:
          type: string
      - name: deleteAll
        in: query
        description: deleteAll
        required: true
        allowEmptyValue: false
        schema:
          type: string
          default: 'false'
      - name: opportunityId
        in: path
        description: opportunityId
        required: true
        schema:
          type: string
      - name: resourceId
        in: path
        description: resourceId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
        '501':
          description: Not Implemented
          content:
            application/json:
              schema:
                type: string
      deprecated: false
    patch:
      tags:
      - Attachments
      summary: Update attachment to an opportunity
      description: Update attachment for an opportunity.
      operationId: updateAttachmentUsingPATCH
      parameters:
      - name: Authorization
        in: header
        description: Authorization
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        description: api_key
        required: true
        schema:
          type: string
      - name: opportunityId
        in: path
        description: opportunityId
        required: true
        schema:
          type: string
      - name: resourceId
        in: path
        description: resourceId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
        '501':
          description: Not Implemented
          content:
            application/json:
              schema:
                type: string
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: string
        description: requestJson
  /opps/v1/api/{opportunityId}/resources/download/zip:
    get:
      tags:
      - Attachments
      summary: Download Opportunity's attachments as zip
      description: Download Opportunity's attachments as zip.
      operationId: downloadAttachmentsAsZipUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        description: api_key
        required: true
        schema:
          type: string
      - name: opportunityId
        in: path
        description: opportunityId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                type: object
        '400':
          description: Bad Request
          content:
            application/zip:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/zip:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/zip:
              schema:
                type: string
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
          content:
            application/zip:
              schema:
                type: string
        '501':
          description: Not Implemented
          content:
            application/zip:
              schema:
                type: string
      deprecated: false