---
updatedAt: 2026-07-24T12:18:48.000Z
agentTools:
  projectIndex: https://docs.oysterhr.com/v0.1/llms.txt
---

# Collect agreement signature

Collects a signature for a verified employment or remote work agreement on behalf of the team member.

Note: Access to the agreement signatures API is restricted. Please reach out to api-support@oysterhr.com so we can evaluate your eligibility.


**This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.**

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Endpoints",
    "version": "v0.1"
  },
  "components": {
    "securitySchemes": {
      "bearer_auth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "agreement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "enum": [
              "PENDING",
              "DRAFT",
              "VERIFIED",
              "READY_TO_SIGN",
              "SIGNED"
            ]
          },
          "type": {
            "type": "string"
          },
          "parties": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "COMPANY",
                "TEAM_MEMBER",
                "OYSTER"
              ]
            }
          },
          "preview": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "contentType": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "name",
          "state",
          "type",
          "parties"
        ]
      }
    }
  },
  "paths": {
    "/v0.1/hiring/employments/{id}/agreements/{agreement_id}/signatures": {
      "post": {
        "summary": "Collect agreement signature",
        "tags": [
          "Employments"
        ],
        "description": "Collects a signature for a verified employment or remote work agreement on behalf of the team member.\n\nNote: Access to the agreement signatures API is restricted. Please reach out to api-support@oysterhr.com so we can evaluate your eligibility.\n\n\n**This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.**",
        "security": [
          {
            "bearer_auth": [
              "manage"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Employment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agreement_id",
            "in": "path",
            "description": "Agreement ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "examples": {
                  "Successful": {
                    "value": {
                      "data": {
                        "id": "A6fda22e",
                        "name": "Employment Agreement",
                        "type": "EMPLOYMENT_AGREEMENT",
                        "parties": [
                          "TEAM_MEMBER"
                        ],
                        "state": "READY_TO_SIGN",
                        "preview": {
                          "url": "http://localhost:3000/h/documents/agreements/A6fda22e",
                          "contentType": "application/pdf"
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/agreement"
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "The agreement already has a collected signature",
            "content": {
              "application/json": {
                "examples": {
                  "The agreement does not exist, or no permission to access it": {
                    "value": {
                      "errors": [
                        {
                          "message": "Agreement not found."
                        }
                      ]
                    }
                  },
                  "The agreement type cannot be signed": {
                    "value": {
                      "errors": [
                        {
                          "message": "Only employment agreement and remote work agreements can be signed."
                        }
                      ]
                    }
                  },
                  "The agreement is not verified": {
                    "value": {
                      "errors": [
                        {
                          "message": "Only verified agreements can be signed."
                        }
                      ]
                    }
                  },
                  "The agreement has new changes": {
                    "value": {
                      "errors": [
                        {
                          "message": "The agreement has new changes. Only the newest version can be signed."
                        }
                      ]
                    }
                  },
                  "The agreement already has a collected signature": {
                    "value": {
                      "errors": [
                        {
                          "message": "Agreement already has a collected signature."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "signatoryName": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "signatoryName"
                ]
              },
              "examples": {
                "Successful": {
                  "summary": "Successful",
                  "value": {
                    "signatoryName": "John Doe"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.oysterhr.com",
      "description": "Production server"
    },
    {
      "url": "https://api-sandbox.oysterhr.com",
      "description": "Sandbox server"
    }
  ]
}
```