OSF

OSF Collection Submissions API

A Collection Submission is an object that allows a user to add a resource, either a project, preprint, or registration to a collection. Once created, a Collection Submission may be automatically accepted or await moderation. Once a Collection Submission is in a moderation state, an assigned moderator may accept or reject the submission. There are a few states for Collection Submissions: - `in_progress` is the initial state of a Collection Submission where the resource is editable and still private. - `pending` is the state where the Collection Submission is awaiting moderation. - `accepted` means the Collection Submission has been approved and added to the collection. - `rejected` means the Collection Submission has been declined by the moderator. - `removed` means the Collection Submission has been removed from the collection, after initial acceptance.

Operations 2

GET /providers/registrations/{provider_id}/submissions/ List Submissions for a Registration #
GET /collection_submissions/{collection_submission_id}/actions/ Get a list of Collection Submission Actions for a Collection Submission #

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/osf:osf-collection-submissions-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

osf-collection-submissions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OSF APIv2 Documentation Collection Submissions API
  description: This is the official documentation for the OSF (Open Science Framework) API v2.
  version: '2.0'
  termsOfService: https://osf.io/terms_of_use/
  contact:
    name: OSF Support Team
    email: support@osf.io
    url: https://help.osf.io/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://cdn.cos.io/media/images/cos_center_logo_small.original.png
    backgroundColor: transparent
servers:
- url: https://api.test.osf.io/v2
tags:
- name: Collection Submissions
  description: A Collection Submission is an object that allows a user to add a resource, either a project, preprint, or registration to a collection.
paths:
  /providers/registrations/{provider_id}/submissions/:
    get:
      summary: List Submissions for a Registration
      description: 'Retrieve a list of submissions associated with a specific registration.

        A submission represents an attempt to add a registration to a collection, typically requiring moderation or approval.

        #### Permissions - Only authenticated users with access to the registration can view submission data. - Access to submission details may depend on the moderation settings of the related collections.

        #### Returns - A JSON object with a `data` key containing an array of submission objects. - Each submission reflects its current moderation status and relevant metadata.'
      tags:
      - Collection Submissions
      operationId: registrations_submissions_list
      parameters:
      - in: path
        name: provider_id
        required: true
        description: The unique identifier of the registration.
        schema:
          type: string
      - in: query
        name: filter[state]
        required: false
        description: 'Filter submissions by their state.

          Available values:

          - in_progress

          - pending

          - accepted

          - rejected

          - removed

          '
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number of results to return (pagination).
        schema:
          type: integer
      - in: query
        name: per_page
        required: false
        description: Number of results per page (default 10, maximum 100).
        schema:
          type: integer
      responses:
        '200':
          description: Successful retrieval of the list of submissions for the registration.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - type
                      - attributes
                      - relationships
                      - links
                      properties:
                        id:
                          type: string
                          example: sub1
                        type:
                          type: string
                          example: collection-submissions
                        attributes:
                          type: object
                          required:
                          - state
                          - date_submitted
                          properties:
                            state:
                              type: string
                              enum:
                              - in_progress
                              - pending
                              - accepted
                              - rejected
                              - removed
                              example: pending
                            date_submitted:
                              type: string
                              format: date-time
                              example: '2024-12-01T12:00:00Z'
                        relationships:
                          type: object
                          required:
                          - collection
                          - creator
                          properties:
                            collection:
                              type: object
                              properties:
                                data:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      example: collections
                                    id:
                                      type: string
                                      example: col123
                            creator:
                              type: object
                              properties:
                                data:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      example: users
                                    id:
                                      type: string
                                      example: user456
                        links:
                          type: object
                          properties:
                            self:
                              type: string
                              example: https://api.test.osf.io/v2/collection_submissions/sub1/
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                      next:
                        type: string
                        description: Link to the next page of results, if applicable.
                      prev:
                        type: string
                        description: Link to the previous page of results, if applicable.
                  meta:
                    type: object
                    properties:
                      total:
                        type: integer
                        description: Total number of submissions.
                      per_page:
                        type: integer
                        description: Number of submissions per page.
                      version:
                        type: string
                        description: API version.
              example:
                data:
                - id: sub1
                  type: collection-submissions
                  attributes:
                    state: pending
                    date_submitted: '2024-12-01T12:00:00Z'
                  relationships:
                    collection:
                      data:
                        type: collections
                        id: col123
                    creator:
                      data:
                        type: users
                        id: user456
                  links:
                    self: https://api.test.osf.io/v2/collection_submissions/sub1/
                - id: sub2
                  type: collection-submissions
                  attributes:
                    state: accepted
                    date_submitted: '2024-10-15T10:00:00Z'
                  relationships:
                    collection:
                      data:
                        type: collections
                        id: col456
                    creator:
                      data:
                        type: users
                        id: user456
                  links:
                    self: https://api.test.osf.io/v2/collection_submissions/sub2/
                links:
                  self: https://api.test.osf.io/v2/registrations/abcd1/submissions/
                  next: null
                  prev: null
                meta:
                  total: 2
                  per_page: 10
                  version: '2.0'
        '401':
          description: Unauthorized. Authentication is required to access these submissions.
        '403':
          description: Forbidden. You do not have permission to view these submissions.
        '404':
          description: Not Found. No registration matches the given ID.
  /collection_submissions/{collection_submission_id}/actions/:
    get:
      summary: Get a list of Collection Submission Actions for a Collection Submission
      description: 'This returns a list of the actions that have changed the Collection Submission moderation state.

        #### Permissions

        This information is only available to an admin or moderator of a Collection when it is private, however if the Collection is public the data is available to all.

        #### Returns

        Returns a JSON object containing `data` and `links` keys.

        The `data` key contains an array of nodes ids.

        The `links` key contains a dictionary of links that can be used for pagination.'
      parameters:
      - in: path
        required: true
        name: collection_submission_id
        description: A short id for that collection submission
        schema:
          type: string
      tags:
      - Collection Submissions
      operationId: collection_submission_list
      x-response-schema: Collection Submissions
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                data:
                - id: 63bc18c66f4506000abae96f
                  type: collection-submission-actions
                  attributes:
                    trigger: remove
                    from_state: accepted
                    to_state: removed
                    comment: test remove!
                    date_created: '2023-01-09T13:38:14.598839Z'
                    date_modified: '2023-01-09T13:38:14.598867Z'
                  relationships:
                    collection:
                      links:
                        related:
                          href: https://api.staging.osf.io/v2/collections/3vpkf/
                          meta: {}
                      data:
                        id: 3vpkf
                        type: collections
                    creator:
                      links:
                        related:
                          href: https://api.staging.osf.io/v2/users/zpw9n/
                          meta: {}
                      data:
                        id: zpw9n
                        type: users
                    target:
                      links:
                        related:
                          href: https://api.staging.osf.io/v2/collections/3vpkf/collection_submissions/xhwz7/
                          meta: {}
                      data:
                        id: xhwz7-3vpkf
                        type: collection-submission
                  links:
                    self: https://api.staging.osf.io/v2/actions/63bc18c66f4506000abae96f/
x-tagGroups:
- name: Welcome
  tags:
  - Introduction
  - General Usage
  - Authentication
  - Pagination
  - Versioning
  - Filtering
  - Sparse Fieldsets
  - Embedding
  - Request Formatting
  - Errors & Error Codes
  - Entities & Entity Collections
- name: API Reference
  tags:
  - Actions
  - Addons
  - Applications
  - Base
  - CEDAR Metadata
  - Citations
  - Comments
  - Collections
  - Collection Submissions
  - Collection Submissions Actions
  - Collection Providers
  - Custom Metadata
  - Files
  - Licenses
  - Logs
  - Institutions
  - Identifiers
  - Registration Schemas
  - Registration Schema Blocks
  - Schema Responses
  - Schema Response Actions
  - Nodes
  - Notification Subscriptions
  - Preprints
  - Preprint Providers
  - Draft Registrations
  - Registrations
  - Registration Providers
  - Regions
  - OAuth Scopes
  - Taxonomies
  - Tokens
  - Users
  - View Only Links
  - Wikis
  - Subjects
  - GUIDs
  - Requests
  - Resources