Scout RFP (Workday Strategic Sourcing) project_supplier_contacts API

Use the project supplier contacts API to manage project suppliers. This API provides 2 advantages over the project supplier companies APIs: - It allows specifying the supplier contact to be associated/removed from a project. - It allows specifying multiple contacts for a given supplier.

OpenAPI Specification

scoutrfp-project-supplier-contacts-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Workday Strategic Sourcing attachments project_supplier_contacts API
  version: '1.0'
  description: '<span id="section/Authentication/api_key" data-section-id="section/Authentication/api_key"></span>

    <span id="section/Authentication/user_token" data-section-id="section/Authentication/user_token"></span>

    <span id="section/Authentication/user_email" data-section-id="section/Authentication/user_email"></span>

    '
servers:
- url: https://api.us.workdayspend.com/services/attachments/v1
  description: Production Server
- url: https://api.sandbox.us.workdayspend.com/services/attachments/v1
  description: Sandbox Server
security:
- api_key: []
  user_token: []
  user_email: []
tags:
- name: project_supplier_contacts
  x-displayName: Project Supplier Contacts
  description: 'Use the project supplier contacts API to manage project suppliers. This API provides 2 advantages over the project supplier companies APIs:

    - It allows specifying the supplier contact to be associated/removed from a project.

    - It allows specifying multiple contacts for a given supplier.

    '
paths:
  /projects/{project_id}/relationships/supplier_contacts:
    post:
      tags:
      - project_supplier_contacts
      description: 'Add suppliers to a project using supplier contacts.


        For best performance, we recommend inviting 10 or less supplier contacts in a single request.

        '
      operationId: Add Suppliers using Contacts
      summary: Add Suppliers using Contacts
      parameters:
      - name: project_id
        in: path
        description: Project identifier.
        required: true
        schema:
          type: integer
        example: 1
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/SupplierContactBase'
            examples:
              success:
                $ref: '#/components/examples/create_request-3'
      responses:
        '204':
          description: OK
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      x-codeSamples:
      - label: Curl
        source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n     -H \"X-User-Token: ${USER_TOKEN}\" \\\n     -H \"X-User-Email: ${USER_EMAIL}\" \\\n     -H \"Content-Type: application/vnd.api+json\" \\\n     -X POST \\\n     -d '{\"data\":[{ \"type\": \"supplier_contacts\", \"id\": \"5\" },{ \"type\": \"supplier_contacts\", \"id\": \"11\" }]}' \\\n     \"https://api.us.workdayspend.com/services/projects/v1/projects/1/relationships/supplier_contacts\"\n"
    delete:
      tags:
      - project_supplier_contacts
      description: 'Remove suppliers from a project using supplier contacts.


        For best performance, we recommend removing 10 or less supplier contacts in a single request.

        '
      operationId: Remove Suppliers using Contacts
      summary: Remove Suppliers using Contacts
      parameters:
      - name: project_id
        in: path
        description: Project identifier.
        required: true
        schema:
          type: integer
        example: 1
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/SupplierContactBase'
            examples:
              success:
                $ref: '#/components/examples/delete_request-2'
      responses:
        '204':
          description: OK
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      x-codeSamples:
      - label: Curl
        source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n     -H \"X-User-Token: ${USER_TOKEN}\" \\\n     -H \"X-User-Email: ${USER_EMAIL}\" \\\n     -H \"Content-Type: application/vnd.api+json\" \\\n     -X DELETE \\\n     -d '{\"data\":[{ \"type\": \"supplier_contacts\", \"id\": \"5\" },{ \"type\": \"supplier_contacts\", \"id\": \"11\" }]}' \\\n     \"https://api.us.workdayspend.com/services/projects/v1/projects/1/relationships/supplier_contacts\"\n"
  /projects/{project_external_id}/relationships/supplier_contacts/external_id:
    post:
      tags:
      - project_supplier_contacts
      description: 'Add suppliers to a project using supplier contacts.


        You must supply the unique project external identifier (the one you used when created the project).


        You must supply the external identifiers of the supplier contacts too.


        For best performance, we recommend inviting 10 or less supplier contacts in a single request.

        '
      operationId: Add Suppliers using Contacts External IDs
      summary: Add Suppliers using Contacts External IDs
      parameters:
      - name: project_external_id
        in: path
        description: Project external identifier.
        required: true
        schema:
          type: string
        example: PRJ1
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/ExternalSupplierContactBase'
            examples:
              success:
                $ref: '#/components/examples/external_create_request-2'
      responses:
        '204':
          description: OK
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      x-codeSamples:
      - label: Curl
        source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n     -H \"X-User-Token: ${USER_TOKEN}\" \\\n     -H \"X-User-Email: ${USER_EMAIL}\" \\\n     -H \"Content-Type: application/vnd.api+json\" \\\n     -X POST \\\n     -d '{\"data\":[{ \"type\": \"supplier_contacts\", \"id\": \"SUP5\" },{ \"type\": \"supplier_contacts\", \"id\": \"SUP11\" }]}' \\\n     \"https://api.us.workdayspend.com/services/projects/v1/projects/PRJ1/relationships/supplier_contacts/external_id\"\n"
    delete:
      tags:
      - project_supplier_contacts
      description: 'Remove suppliers from a project using supplier contacts.


        You must supply the unique project external identifier (the one you used when created the project).


        You must supply the external identifiers of the supplier contacts too.


        For best performance, we recommend removing 10 or less supplier contacts in a single request.

        '
      operationId: Remove Suppliers using Contacts External IDs
      summary: Remove Suppliers using Contacts External IDs
      parameters:
      - name: project_external_id
        in: path
        description: Project external identifier.
        required: true
        schema:
          type: string
        example: PRJ1
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/ExternalSupplierContactBase'
            examples:
              success:
                $ref: '#/components/examples/external_delete_request-2'
      responses:
        '204':
          description: OK
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      x-codeSamples:
      - label: Curl
        source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n     -H \"X-User-Token: ${USER_TOKEN}\" \\\n     -H \"X-User-Email: ${USER_EMAIL}\" \\\n     -H \"Content-Type: application/vnd.api+json\" \\\n     -X DELETE \\\n     -d '{\"data\":[{ \"type\": \"supplier_contacts\", \"id\": \"SUP5\" },{ \"type\": \"supplier_contacts\", \"id\": \"SUP11\" }]}' \\\n     \"https://api.us.workdayspend.com/services/projects/v1/projects/PRJ1/relationships/supplier_contacts/external_id\"\n"
components:
  schemas:
    ExternalSupplierContactBase:
      title: ExternalSupplierContact
      type: object
      required:
      - type
      - id
      properties:
        type:
          $ref: '#/components/schemas/SupplierContactType'
        id:
          $ref: '#/components/schemas/SupplierContactExternalId'
    SupplierContactBase:
      title: SupplierContact
      type: object
      required:
      - type
      - id
      properties:
        type:
          $ref: '#/components/schemas/SupplierContactType'
        id:
          $ref: '#/components/schemas/SupplierContactId'
    SupplierContactId:
      type: integer
      description: Supplier contact identifier string.
      example: 1
    SupplierContactExternalId:
      type: string
      description: Supplier contact external identifier.
      example: 1234-5678-abcd-efgh
    SupplierContactType:
      type: string
      description: Object type, should always be `supplier_contacts`.
      example: supplier_contacts
  examples:
    external_create_request-2:
      value:
        data:
        - type: supplier_contacts
          id: SUPC10
        - type: supplier_contacts
          id: SUPC17
    create_request-3:
      value:
        data:
        - type: supplier_contacts
          id: '10'
        - type: supplier_contacts
          id: '17'
    external_delete_request-2:
      value:
        data:
        - type: supplier_contacts
          id: SUPC10
        - type: supplier_contacts
          id: SUPC17
    delete_request-2:
      value:
        data:
        - type: supplier_contacts
          id: '10'
        - type: supplier_contacts
          id: '17'
  securitySchemes:
    api_key:
      type: apiKey
      name: X-Api-Key
      in: header
      description: Company API key.
    user_token:
      type: apiKey
      name: X-User-Token
      in: header
      description: User token.
    user_email:
      type: apiKey
      name: X-User-Email
      in: header
      description: User email.
x-tagGroups:
- name: Getting Started
  tags:
  - support
  - servers
  - api_specification
  - authentication
  - rate_limiting
- name: Attachments
  tags:
  - attachments