Amazon Clean Rooms Clean Rooms Protectedjobs API

The Clean Rooms Protectedjobs API from Amazon Clean Rooms — 2 operation(s) for clean rooms protectedjobs.

Operations 4

GET /memberships/{membershipIdentifier}/protectedJobs/{protectedJobIdentifier} Get Protected Job #
PATCH /memberships/{membershipIdentifier}/protectedJobs/{protectedJobIdentifier} Update Protected Job #
GET /memberships/{membershipIdentifier}/protectedJobs List Protected Jobs #
POST /memberships/{membershipIdentifier}/protectedJobs Start Protected Job #

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/amazon-clean-rooms:amazon-clean-rooms-protectedjobs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

amazon-clean-rooms-protectedjobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Clean Rooms Service Protectedjobs API
  version: '2022-02-17'
  description: Generated from AWS's published Smithy model for AWS Clean Rooms Service. 4 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://cleanrooms.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /memberships/{membershipIdentifier}/protectedJobs/{protectedJobIdentifier}:
    get:
      operationId: GetProtectedJob
      summary: Get Protected Job
      description: Returns job processing metadata.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProtectedJobOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProtectedJobInput'
      tags:
      - Protectedjobs
    patch:
      operationId: UpdateProtectedJob
      summary: Update Protected Job
      description: Updates the processing of a currently running job.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateProtectedJobOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProtectedJobInput'
      tags:
      - Protectedjobs
  /memberships/{membershipIdentifier}/protectedJobs:
    get:
      operationId: ListProtectedJobs
      summary: List Protected Jobs
      description: Lists protected jobs, sorted by most recent job.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProtectedJobsOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListProtectedJobsInput'
      tags:
      - Protectedjobs
    post:
      operationId: StartProtectedJob
      summary: Start Protected Job
      description: Creates a protected job that is started by Clean Rooms.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartProtectedJobOutput'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartProtectedJobInput'
      tags:
      - Protectedjobs
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: cleanrooms
  schemas:
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
        reason:
          type: string
          description: A reason code for the exception.
    BilledJobResourceUtilization:
      type: object
      properties:
        units:
          type: number
          description: The number of Clean Rooms Processing Unit (CRPU) hours that have been billed.
      required:
      - units
    ConflictException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The ID of the conflicting resource.
        resourceType:
          type: string
          description: The type of the conflicting resource.
        reason:
          type: string
          description: A reason code for the exception.
    GetProtectedJobInput:
      type: object
      properties:
        membershipIdentifier:
          type: string
          description: The identifier for a membership in a protected job instance.
        protectedJobIdentifier:
          type: string
          description: The identifier for the protected job instance.
      required:
      - membershipIdentifier
      - protectedJobIdentifier
    GetProtectedJobOutput:
      type: object
      properties:
        protectedJob:
          $ref: '#/components/schemas/ProtectedJob'
      required:
      - protectedJob
    InternalServerException:
      type: object
      properties:
        message:
          type: string
    ListProtectedJobsInput:
      type: object
      properties:
        membershipIdentifier:
          type: string
          description: The identifier for the membership in the collaboration.
        status:
          type: string
          enum:
          - SUBMITTED
          - STARTED
          - CANCELLED
          - CANCELLING
          - FAILED
          - SUCCESS
          description: A filter on the status of the protected job.
        nextToken:
          type: string
          description: The pagination token that's used to fetch the next set of results.
        maxResults:
          type: integer
          description: The maximum number of results that are returned for an API request call. The service chooses a default
            number if you don't set one. The service might return a `nextToken` even if the `maxResults` value has not been
            met.
      required:
      - membershipIdentifier
    ListProtectedJobsOutput:
      type: object
      properties:
        nextToken:
          type: string
          description: The pagination token that's used to fetch the next set of results.
        protectedJobs:
          type: array
          items:
            $ref: '#/components/schemas/ProtectedJobSummary'
          description: A list of protected job summaries.
      required:
      - protectedJobs
    ProtectedJob:
      type: object
      properties:
        id:
          type: string
          description: The identifier for a protected job instance.
        membershipId:
          type: string
          description: he identifier for the membership.
        membershipArn:
          type: string
          description: The ARN of the membership.
        createTime:
          type: string
          description: The creation time of the protected job.
        jobParameters:
          $ref: '#/components/schemas/ProtectedJobParameters'
        status:
          type: string
          enum:
          - SUBMITTED
          - STARTED
          - CANCELLED
          - CANCELLING
          - FAILED
          - SUCCESS
          description: The status of the protected job.
        resultConfiguration:
          $ref: '#/components/schemas/ProtectedJobResultConfigurationOutput'
        statistics:
          $ref: '#/components/schemas/ProtectedJobStatistics'
        result:
          $ref: '#/components/schemas/ProtectedJobResult'
        error:
          $ref: '#/components/schemas/ProtectedJobError'
        computeConfiguration:
          $ref: '#/components/schemas/ProtectedJobComputeConfiguration'
        jobComputePayerAccountId:
          type: string
          description: The account ID of the member that pays for the job compute costs.
      required:
      - id
      - membershipId
      - membershipArn
      - createTime
      - status
    ProtectedJobComputeConfiguration:
      type: object
      properties:
        worker:
          $ref: '#/components/schemas/ProtectedJobWorkerComputeConfiguration'
      description: Exactly one member is set.
    ProtectedJobConfigurationDetails:
      type: object
      properties:
        directAnalysisConfigurationDetails:
          $ref: '#/components/schemas/ProtectedJobDirectAnalysisConfigurationDetails'
      description: Exactly one member is set.
    ProtectedJobDirectAnalysisConfigurationDetails:
      type: object
      properties:
        receiverAccountIds:
          type: array
          items:
            type: string
          description: The receiver account IDs.
    ProtectedJobError:
      type: object
      properties:
        message:
          type: string
          description: The message for the protected job error.
        code:
          type: string
          description: The error code for the protected job.
      required:
      - message
      - code
    ProtectedJobMemberOutputConfigurationInput:
      type: object
      properties:
        accountId:
          type: string
          description: The account ID.
      required:
      - accountId
    ProtectedJobMemberOutputConfigurationOutput:
      type: object
      properties:
        accountId:
          type: string
          description: The account ID.
      required:
      - accountId
    ProtectedJobOutput:
      type: object
      properties:
        s3:
          $ref: '#/components/schemas/ProtectedJobS3Output'
        memberList:
          type: array
          items:
            $ref: '#/components/schemas/ProtectedJobSingleMemberOutput'
          description: The list of member Amazon Web Services account(s) that received the results of the job.
      description: Exactly one member is set.
    ProtectedJobOutputConfigurationInput:
      type: object
      properties:
        member:
          $ref: '#/components/schemas/ProtectedJobMemberOutputConfigurationInput'
      description: Exactly one member is set.
    ProtectedJobOutputConfigurationOutput:
      type: object
      properties:
        s3:
          $ref: '#/components/schemas/ProtectedJobS3OutputConfigurationOutput'
        member:
          $ref: '#/components/schemas/ProtectedJobMemberOutputConfigurationOutput'
      description: Exactly one member is set.
    ProtectedJobParameters:
      type: object
      properties:
        analysisTemplateArn:
          type: string
          description: The ARN of the analysis template.
        parameters:
          type: object
          additionalProperties:
            type: string
          description: Runtime configuration values passed to the PySpark analysis script. Parameter names and types must
            match those defined in the analysis template.
      required:
      - analysisTemplateArn
    ProtectedJobReceiverConfiguration:
      type: object
      properties:
        analysisType:
          type: string
          enum:
          - DIRECT_ANALYSIS
          description: The analysis type for the protected job receiver configuration.
        configurationDetails:
          $ref: '#/components/schemas/ProtectedJobConfigurationDetails'
      required:
      - analysisType
    ProtectedJobResult:
      type: object
      properties:
        output:
          $ref: '#/components/schemas/ProtectedJobOutput'
      required:
      - output
    ProtectedJobResultConfigurationInput:
      type: object
      properties:
        outputConfiguration:
          $ref: '#/components/schemas/ProtectedJobOutputConfigurationInput'
      required:
      - outputConfiguration
    ProtectedJobResultConfigurationOutput:
      type: object
      properties:
        outputConfiguration:
          $ref: '#/components/schemas/ProtectedJobOutputConfigurationOutput'
      required:
      - outputConfiguration
    ProtectedJobS3Output:
      type: object
      properties:
        location:
          type: string
          description: The S3 location for the protected job output.
      required:
      - location
    ProtectedJobS3OutputConfigurationOutput:
      type: object
      properties:
        bucket:
          type: string
          description: The S3 bucket for job output.
        keyPrefix:
          type: string
          description: The S3 prefix to unload the protected job results.
      required:
      - bucket
    ProtectedJobSingleMemberOutput:
      type: object
      properties:
        accountId:
          type: string
          description: The Amazon Web Services account ID of the member in the collaboration who can receive results from
            analyses.
      required:
      - accountId
    ProtectedJobStatistics:
      type: object
      properties:
        totalDurationInMillis:
          type: integer
          description: The duration of the protected job, from creation until job completion, in milliseconds.
        billedResourceUtilization:
          $ref: '#/components/schemas/BilledJobResourceUtilization'
    ProtectedJobSummary:
      type: object
      properties:
        id:
          type: string
          description: The ID of the protected job.
        membershipId:
          type: string
          description: The unique ID for the membership that initiated the protected job.
        membershipArn:
          type: string
          description: The unique ARN for the membership that initiated the protected job.
        createTime:
          type: string
          description: The time the protected job was created.
        status:
          type: string
          enum:
          - SUBMITTED
          - STARTED
          - CANCELLED
          - CANCELLING
          - FAILED
          - SUCCESS
          description: The status of the protected job.
        receiverConfigurations:
          type: array
          items:
            $ref: '#/components/schemas/ProtectedJobReceiverConfiguration'
          description: The receiver configurations for the protected job.
        jobComputePayerAccountId:
          type: string
          description: The account ID of the member that pays for the job compute costs.
      required:
      - id
      - membershipId
      - membershipArn
      - createTime
      - status
      - receiverConfigurations
    ProtectedJobWorkerComputeConfiguration:
      type: object
      properties:
        type:
          type: string
          enum:
          - CR.1X
          - CR.4X
          description: The worker compute configuration type.
        number:
          type: integer
          description: The number of workers for a PySpark job.
        properties:
          $ref: '#/components/schemas/WorkerComputeConfigurationProperties'
      required:
      - type
      - number
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The Id of the missing resource.
        resourceType:
          type: string
          description: The type of the missing resource.
      required:
      - message
      - resourceId
      - resourceType
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
        quotaName:
          type: string
          description: The name of the quota.
        quotaValue:
          type: number
          description: The value of the quota.
      required:
      - message
      - quotaName
      - quotaValue
    StartProtectedJobInput:
      type: object
      properties:
        type:
          type: string
          enum:
          - PYSPARK
          description: The type of protected job to start.
        membershipIdentifier:
          type: string
          description: A unique identifier for the membership to run this job against. Currently accepts a membership ID.
        jobParameters:
          $ref: '#/components/schemas/ProtectedJobParameters'
        resultConfiguration:
          $ref: '#/components/schemas/ProtectedJobResultConfigurationInput'
        computeConfiguration:
          $ref: '#/components/schemas/ProtectedJobComputeConfiguration'
        jobComputePayerAccountId:
          type: string
          description: The account ID of the member that pays for the job compute costs.
      required:
      - type
      - membershipIdentifier
      - jobParameters
    StartProtectedJobOutput:
      type: object
      properties:
        protectedJob:
          $ref: '#/components/schemas/ProtectedJob'
      required:
      - protectedJob
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
    UpdateProtectedJobInput:
      type: object
      properties:
        membershipIdentifier:
          type: string
          description: The identifier for a member of a protected job instance.
        protectedJobIdentifier:
          type: string
          description: The identifier of the protected job to update.
        targetStatus:
          type: string
          enum:
          - CANCELLED
          description: The target status of a protected job. Used to update the execution status of a currently running job.
      required:
      - membershipIdentifier
      - protectedJobIdentifier
      - targetStatus
    UpdateProtectedJobOutput:
      type: object
      properties:
        protectedJob:
          $ref: '#/components/schemas/ProtectedJob'
      required:
      - protectedJob
    ValidationException:
      type: object
      properties:
        message:
          type: string
        reason:
          type: string
          description: A reason code for the exception.
        fieldList:
          type: array
          items:
            $ref: '#/components/schemas/ValidationExceptionField'
          description: Validation errors for specific input parameters.
    ValidationExceptionField:
      type: object
      properties:
        name:
          type: string
          description: The name of the input parameter.
        message:
          type: string
          description: A message for the input validation error.
      required:
      - name
      - message
    WorkerComputeConfigurationProperties:
      type: object
      properties:
        spark:
          type: object
          additionalProperties:
            type: string
          description: The Spark configuration properties for SQL and PySpark workloads. This map contains key-value pairs
            that configure Apache Spark settings to optimize performance for your data processing jobs. You can specify up
            to 50 Spark properties, with each key being 1-200 characters and each value being 0-500 characters. These properties
            allow you to adjust compute capacity for large datasets and complex workloads.
      description: Exactly one member is set.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/cleanrooms/service/2022-02-17/cleanrooms-2022-02-17.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)